我试图让.submit()在for循环的每次传递中运行,但它只运行一次。我做错了什么?
以下是代码:
$("#fancyConfirm_ok").click(function () {
proceedAfterRestrictionCheckGuest();
for (var rowNum = 0; rowNum < prodCode.length; ++rowNum) {
var rProd = prodCode[rowNum];
console.log(prodCode[rowNum]);
var rPos = prodCarPos[rowNum];
console.log(prodCarPos[rowNum]);
$("#entryNumber").prop('value', rPos);
$("#quantity").prop('value', 0);
$('#updateRestrictionForm').submit();
}
$.fancybox.close();
});
由于
答案 0 :(得分:0)
正如@Barmar指出的那样,当您调用$('#updateRestrictionForm').submit();
时,表单上的默认提交操作将被触发,因此将提交表单,使页面重新加载并因此停止您的脚本。
正如jQuery文档指出的那样,“您可以通过在事件对象上调用.preventDefault()或从我们的处理程序返回false来取消提交操作”。您需要做的就是捕获提交事件并取消它在DOM中的传播(冒泡)。
类似的东西:
$( "#updateRestrictionForm" ).submit(function( event ) {
alert( "Handler for .submit() called." );
event.preventDefault();
});
请注意,我的答案的下划线概念不是特定于jQuery的。我只使用jQuery文档和代码,因为它知道你在代码中使用它似乎更容易。