提交循环仅发射一次



im试图get .submit()使用for loop的每个通行证运行,但它只能运行一次。我在做什么错?

这是代码:

$("#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();
});

谢谢

正如@Barmar指出的那样,当您调用$('#updateRestrictionForm').submit();时,将在表格上签发默认提交操作,因此将提交表单,从而使页面重新加载并因此停止您的脚本。

正如JQuery Docs指出的那样:"您可以通过在事件对象上调用.preventDefault()或从我们的处理程序返回false来取消提交操作"。您需要做的就是捕捉提交事件并取消其在整个DOM(冒泡)中的传播。

类似:

$( "#updateRestrictionForm" ).submit(function( event ) {
  alert( "Handler for .submit() called." );
  event.preventDefault();
});

请注意,我的答案的下划线概念不是特定于jQuery的。我只使用jQuery文档和代码,因为它似乎是知道您在代码中使用它的更简单的方法。

最新更新