/ / unbind nie jest funkcją - błąd sprawdzania poprawności jQuery - jquery

unbind nie jest funkcją - błąd sprawdzania jQuery - jquery

Próbuję utworzyć formularz jQuery, który nie składa się, dopóki nie przejdzie walidacji („jestem nowym uczniem”), ale otrzymuję ten błąd z konsoli: Nieprzechwycony błąd typu: $ (...). Unbind nie jest funkcją

    $("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

}
});

Odpowiedzi:

4 dla odpowiedzi № 1

Wierzę, że będzie to kwestia wersji jQuery. Jeśli korzystasz z kursu CompleteWebDev Roba Percivala, wideo nie zostało zaktualizowane (w czasie pisania tego tekstu), aby rozwiązać ten problem.

.Bind / .unbind są już przestarzałe i powinieneś używać .on / .off w momencie pisania.

Użyj poniższego kodu i powinien działać teraz:

$ („formularz”). off („wyślij”). submit ();


0 dla odpowiedzi nr 2

Mój kod nie działał, a później dowiedziałem się, że metody jbuery .bind / .unbind są przestarzałe i aby rozwiązać ten problem e.preventDefault(); wewnątrz IF, więc nie zadzwonię, dopóki walidacja się nie powiedzie, usunąłem całą część powiązania.


0 dla odpowiedzi № 3

Możemy również uniknąć używania e.preventDefault (); lub $ („formularz”). off („prześlij”). submit (); zwracając prawdę i fałsz;

<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;
}



});