検証に合格するまで送信されない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;
}
});