私は以下のクエリを使用してエラーが発生していますが、コードの抜粋です:クエリOnSubmitの問題
$('form[action="/home/service/"]').on("click", (function(event) {
if ($("#id1").val() == "" && $("#id2").val() == "") {
alert("Invalid entry");
event.preventDefault();
} else {
$('form[action="home/service/"]').submit();
}
});
event.preventDefault();それは提出する必要がありますように動作します。私は.off( "click"、function)を使ってみました。しかしこれはうまくいかず、同じ問題でした。
preventDefault()メソッドが実行されたら、問題が解決したらフォームを再送信できません。私は少数の人々がこれに遭遇するのを見ましたが、彼らの修正は私の問題を解決しませんでした。
UPDATE これは私が今持っているもの、しかし、私はまだ問題を受けていますが、問題はそれはしかし、すぐに私はそれを提出することが表示されます値を使用して再送信しようと提出の初期に動作することですボタンがロックされている、誰かがこれまでに遭遇したことはありますか?以下は私の更新されたコードです:
//function on
function checkForm(event)
{
debugger;
if ($("ID1, ID2").val() != ""){
return;
}
else{
event.preventDefault();
$("#alerts-row").html("<div class='alert_box red'><p>Please Ensure that you have filled in at least one item number below!</p></div>");
$('form[action="Form"]').unbind("submit", checkForm);
}
}
$('form[action="form"]').on("submit", checkForm);
おかげで、
Gavey
は、あなたは、フォーム上のクリックハンドラをよろしいですか?または、送信ボタンでそれをしたいですか?あなたは実際に '.on(" submit "...)をしたいかもしれません。 – 4castle
これは私が推測するように動作します:' else {this.submit(); } '。 'this'ではなく' $(this) 'です。しかし確かに、クリックイベントをフォームにバインドしないでください。代わりにそれにサブミットイベントをバインドするか、 ':submit' children要素にイベントをクリックします。フォームの入力要素で 'return'を押してフォームを提出できますが、最初のフォームのsubmit要素([w3c spec](https://www.w3.org/TR/html5/))で合成クリックイベントが発生しますforms.html#implicit-submission))。 –
申し訳ありませんが、私が使ってきたのは、問題を解決できるかどうかを確認するために、さまざまな方法で試していたon( "submit"関数)ですが、残念ながら2つの新しい今日それをやり遂げる方法、そして成功したかどうかを見てください。ありがとう – Gavey23