/ / unbindが機能しない - jQuery検証エラー - jquery

バインドが機能していない - jQueryの検証エラー - jquery

検証に合格するまで送信されないjQueryフォームを作成しようとしています(私は新しい学習者です)が、コンソールからこのエラーが発生しています:Uncaught TypeError:$(...)unbindは関数ではありません

    $("form").submit(function(e){

e.preventDefault();

var error = "";

//MY VALIDATION CODE HERE

if(error != "") {

$("#error").html("Please check the following error(s)" + error);

} else {

$("form").unbind("submit").submit(); <<< CONSOLE ERROR HERE

}
});

回答:

回答№1は4

これはjQueryバージョンの問題になると思います。もしあなたが "Rob Percival"のCompleteWebDevコースを使っているのであれば、これを解決するためのビデオは(この記事を書いている時点で)更新されていません。

.bind / .unbindは現在廃止されており、私の執筆時点では.on / .offを使用しているはずです。

下記のコードを使用してください。

$( "form")。off( "submit")。submit();


回答№2の場合は0

私のコードはうまく動かず、後でjQueryの.bind / .unbindメソッドは廃止予定であることを知り、それを解決しました。 e.preventDefault(); バリデーションが失敗しない限り、私はそれを呼ばないであろうIFの中で、それから私は全体のunbind部分を削除しました。


回答№3の場合は0

e.preventDefault()の使用を避けることもできます。または$( "form")。off( "submit")。submit(); trueとfalseを返すことによって。

<script type="text/javascript">


$("form").submit(function (e){

// e.preventDefault();//jQuery, it prevent the default action of the event

var error = "";

if($("#email").val() == ""){
error += "The email field is required.<br>";
}

if($("#subject").val() == ""){
error += "The subject field is required.<br>";
}

if($("#content").val() == ""){
error += "The content field is required.";
}

if(error != ""){

$("#error").html("<div class="alert alert-danger" role="alert">" +
"<p><strong>There were error(s) in your form:</strong></p>"+ error +
"</div>");

return false;

}else{
return true;
}



});