jQuery validateのプラグインsubmitHandlerが無限ループを引き起こす問題の解決策は何ですか?

submitHandlerでのコードが原因で無限ループが発生している可能性があります。submitHandlerに、既に提出されたかどうかを表すフラグを追加して、重複した提出を回避することができます。

var submitted = false;

$("#myForm").validate({
  submitHandler: function(form) {
    if (!submitted) {
      submitted = true;
      // 提交表单代码
      form.submit();
    }
  }
});

その他にも、submitHandler内でreturn falseを使用することで、デフォルトの送信動作を防止し、重複送信を防ぐことができます。

$("#myForm").validate({
  submitHandler: function(form) {
    // 提交表单代码
    form.submit();
    return false;
  }
});

具体状況に応じて、適切な方法を選択して、デッドロックを回避するための2つの可能な解決策があります。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds