Wenn Button senden Sie das Formular geht an die Aktionsseite „formsubmit.html“ ohne nichts Füllung ...Kann das Formular nicht stoppen submiting trotz Validierung JS mit
HTML:
<form name="myForm" action="formsubmit.html" method="POST" enctype="multipart/form-data" onsubmit="return validateForm()">
JAVASCRIPT (JQuery):
$(function() {
function validateForm() {
var name = document.forms["myForm"]["fname"].value;
if (name == null || name == "") {
alert("Name must be filled out");
return false;
}
var email = document.forms["myForm"]["email"].value;
if (email == null || email == "") {
alert("email required");
return false;
}
var phone = document.forms["myForm"]["phone"].value;
if (phone == null || phone == "") {
alert("please enter a valid phone number");
return false;
}
var subject = document.forms["myForm"]["subject"].value;
if (subject == null || subject == "") {
alert("You forgot your message!");
return false;
}
}
});
Sie müssen die 'validateForm()' Funktion * außerhalb * des jQuery-Block zu bewegen, wie Sie ein 'auf' * Ereignishandler verwenden. Wenn Sie die Konsole überprüfen, erhalten Sie wahrscheinlich einen Fehler, der besagt, dass Ihre Funktion nicht definiert ist, da sie außerhalb des Bereichs liegt. Besser noch, entfernen Sie das veraltete 'on *' - Attribut und binden Sie Ihre Ereignisse mit unauffälligem JS-Code. –
Danke KAD und Rory, das war die Lösung – icenine