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つの可能な解決策があります。