我在 Javascript 中编写了一个代码,其中我已将输入类型提交附加到 OR [QUOTE_DATESTART] Between [Forms]![frm_QuotesReports]![txtFromDate]
And [Forms]![frm_QuotesReports]![txtToDate] <br/> AND [QUOTE_DATESTART]
BETWEEN (SELECT [tbl_fiscalyear].[fromdate] FROM tbl_fiscalyear WHERE
fiscalyr_ID = [Forms]![frm_QuotesReports]![cboFY]) AND (SELECT
[tbl_fiscalyear].[todate] FROM tbl_fiscalyear WHERE fiscalyr_ID = [Forms]!
[frm_QuotesReports]![cboFY])
。在表单提交上,监听器被调用。
问题在于,当我单击按钮一次时,会发生一次ajax调用。当我再次单击它时,会发生两次调用,而每次单击时只会发生一次调用。类似地,在点击3次时发生3次呼叫,依此类推......(呼叫越来越多)。如果我刷新页面,则数字会重置。我已经尝试了一切,但我没有运气。如果有人发现这里有什么问题,那就太棒了。提前谢谢。
javascript代码:
autoencoder.summary()
答案 0 :(得分:3)
之所以发生这种情况,是因为每次点击代码都会重新附加submit
事件,因此每次点击都会重复该事件。
您不应该将事件附加到其他事件中,请将submit
事件放在click事件之外,代码应该可以运行,例如:
var form1 = $('form#quotation_discount_update_form');
form1.on("submit", function (e) {
var form_data1 = form1.serialize();
$.ajax({
type: 'POST',
url: form1.attr('action'),
data: form_data1,
dataType: "json",
success: function (data) {
$('.quotation-discount-status-update').empty();
$('.quotation-discount-status-update').append('<div class="alert alert-success">Discount Added</div>');
}
});
e.preventDefault();
});
否则,每次使用.off()
时都必须删除事件处理程序,如:
form1.off("submit").on("submit", function (e) {