ajax - Prevent Ajax form from being submitted twice?
问题描述
Hello looking for some help with my form here. How would I prevent " $(document).on('submit'..." getting triggered again when submitting it with " $(active_form)[0].submit();"?
Thanks!
$(document).on('submit', active_form, function(e) {
e.preventDefault();
active_form = $('div.account-address-form.visible form');
var vat_input = $('div.account-address-form.visible form input.vat_reg_no');
var but_prim = $('div.account-address-form.visible form .button-primary');
if (vat_input.val()) {
var url = "/apps/vat-check/";
var number = vat_input.val();
$.ajax({
type: "GET",
dataType: "jsonp",
url: url,
data: {
number: number
},
beforeSend: function() {
but_prim.prop('disabled', true);
but_prim.css('opacity', '.4');
},
success: function(data) {
var result = data.result;
if (result) {
$.ajax({
type: "GET",
dataType: "jsonp",
url: "/apps/customer-vat/",
data: {
email: "{{ customer.email }}",
vat_no: number,
update: true
},
success: function(data) {
$(active_form)[0].submit();
$(active_form).off("submit").submit();
解决方案
$(document).on('submit', active_form, function(e) {
e.preventDefault();
if(!active_form.attr('validated'))
{
active_form = $('div.account-address-form.visible form');
var vat_input = $('div.account-address-form.visible form input.vat_reg_no');
var but_prim = $('div.account-address-form.visible form .button-primary');
if (vat_input.val()) {
var url = "/apps/vat-check/";
var number = vat_input.val();
$.ajax({
type: "GET",
dataType: "jsonp",
url: url,
data: {
number: number
},
beforeSend: function() {
// disabling button
but_prim.prop('disabled', true);
// set button
but_prim.css('opacity', '.4');
},
success: function(data) {
active_form.attr('validated',true);
var result = data.result;
if (result) {
$.ajax({
type: "GET",
dataType: "jsonp",
url: "/apps/customer-vat/",
data: {
email: "{{ customer.email }}",
vat_no: number,
update: true
},
success: function(data) {
active_form.attr('validated',true);
$(active_form)[0].submit();
推荐阅读
- php - 我无法获取系统的当前时间
- web-scraping - R中的WebScraping - 将每部电影的所有演员粘贴到向量的一个元素中
- react-native - 每次在本机反应中选择列表中的项目时,我如何动画模式以弹出
- mysql - 有没有办法让我在 sql 上获取列名的前 3 个字母?
- react-native - TextInput 字段未在 Map 函数 react-native 中获取值
- odoo - 如何从向导获取字段值到 qweb odoo?
- html - 使用 svg sprite 时未显示锚标记内容
- kubernetes - Kubernetes如何为ETCD集群创建Leases资源来查看leader信息?
- tensorflow - InvalidArgumentError:不兼容的形状:[8,3] 与 [8,4]
- primefaces - PrimeFaces selectOneMenu 显示值未重置