表单需要提交以按两次才能使用jquery提交

时间:2013-04-30 17:30:46

标签: jquery forms validation submit

有一些类似的问题可以解决,但我的不同,因为我没有在提交中使用验证功能(实际上根本没有),而且我也没有使用ajax。

我有一个表单,提交看起来像这样:

(function ($, settings, undefined) {
    var hasSubmitted = false;
    $(function () {
       $("form").submit(function () {
            var theForm = $(this);
            var cancelClicked = $("input[type=submit][clicked=true].cancel").length > 0;
            if (cancelClicked || (theForm.valid() && !myOtherRequirements())) {
                hasSubmitted = true;
                return true;
            } else {
                return false;
            }
        });
      }
})(jQuery, settings);

单击的true是在点击事件中添加的属性:

 $("form input[type=submit]").click(function () {
        $("input[type=submit]", $(this).parents("form")).removeAttr("clicked");
        $(this).attr("clicked", "true");
    });

正如您所猜测的那样,我必须按两次提交按钮才能提交表单但我无法理解原因。它第一次绝对没有。调试器上没有警报命中或网络活动。事件 .submit .click 根本不会被触发。

具有这种结构的其他形式似乎没有这个问题。

有什么想法吗?


更新

发现问题。在后台的同一页面中执行了另一个不相关的ajax调用,除非其他ajax调用完成,否则提交将无效。说得通!

0 个答案:

没有答案