Verwenden Sie das erforderliche Attribut. Als Fallback für die Kompatibilität können Sie andere Wege nutzen.
– NÖ
15. Mai 2013 um 4:59 Uhr
@NEO “andere Wege” bietet überhaupt keine Hilfe.
– ProfK
7. Januar 2018 um 5:58 Uhr
palast
Sie können einen Event-Handler mit jQuery an das JavaScript-Event „submit“ binden .submit Methode und dann getrimmt #log Textfeldwert und prüfen, ob leer oder nicht wie:
$('form').submit(function () {
// Get the Login Name value and trim it
var name = $.trim($('#log').val());
// Check if empty of not
if (name === '') {
alert('Text-field is empty.');
return false;
}
});
Beachten Sie das jQuery.on() -Methode ist nur in jQuery-Version 1.7+ verfügbar, ist aber jetzt die bevorzugte Methode zum Anhängen von Event-Handlern.
Dieser Code durchläuft alle Eingaben im Formular und verhindert die Formularübermittlung, indem er „false“ zurückgibt, wenn eine davon keinen Wert hat. Beachten Sie, dass dem Benutzer keinerlei Meldung darüber angezeigt wird, warum das Formular nicht gesendet werden konnte (ich würde dringend empfehlen, eine hinzuzufügen).
Oder Sie könnten sich die ansehen jQuery validieren Plugin. Es tut dies und noch viel mehr.
Hinweis: Diese Art von Technik sollte immer in Verbindung mit serverseitiger Validierung verwendet werden.
Aber dies wird auch nach versteckten Feldern suchen und wenn sie leer sind, wird das Absenden des Formulars verhindert.
– vdu
15. Mai 2013 um 4:58 Uhr
Guter Punkt. Ich habe eine Attributauswahl hinzugefügt, um ausgeblendete Felder zu ignorieren.
– Dominik P
15. Mai 2013 um 6:32 Uhr
Wird das nicht einfach eingestellt has_empty nach dem Wert der letzten Eingabe im Formular?
– Adam Rowe
7. April 2019 um 23:51 Uhr
Nicht wirklich. Wir initialisieren has_empty zu false und durchlaufen Sie dann jede Eingabe im Formular. Wenn irgendein Eingang leer ist, setzen wir has_empty zu trueund break the loop (das ist, was die return false handelt von). Dann prüfen wir einfach den Wert von has_empty und bedingt zurückgeben false um das Absenden des Formulars zu verhindern, wenn leere Felder vorhanden sind.
– Dominik P
8. April 2019 um 17:19 Uhr
vdua
Sie müssen dem Formular einen Handler hinzufügen einreichen Veranstaltung. Im Handler müssen Sie für jedes Textfeld prüfen, Element- und Passwortfelder auswählen, wenn die Werte nicht leer sind.
$('form').submit(function() {
var res = true;
// here I am checking for textFields, password fields, and any
// drop down you may have in the form
$("input[type="text"],select,input[type="password"]",this).each(function() {
if($(this).val().trim() == "") {
res = false;
}
})
return res; // returning false will prevent the form from submitting.
});
Mareg
Ich hasse Formulare, die mir nicht sagen, welche Eingaben fehlen. Also verbessere ich die Antwort von Dominic – danke dafür.
In der CSS-Datei setzen Sie die Klasse “borderR” auf border hat rote Farbe.
$('#<form_id>').submit(function () {
var allIsOk = true;
// Check if empty of not
$(this).find( 'input[type!="hidden"]' ).each(function () {
if ( ! $(this).val() ) {
$(this).addClass('borderR').focus();
allIsOk = false;
}
});
return allIsOk
});
JamesN
Sie sollten es mit dem jquery validate plugin versuchen:
$('form').validate({
rules:{
email:{
required:true,
email:true
}
},
messages:{
email:{
required:"Email is required",
email:"Please type a valid email"
}
}
})
Willkommen bei S.O. Während dieser Code das OP-Problem lösen könnte, können Sie bitte erklären, warum und wie er dies tut? Dies würde die Qualität Ihrer Antwort erheblich verbessern.
– m00am
28. Oktober 2016 um 9:42 Uhr
11448500cookie-checkWie überprüfe ich, ob Textfelder beim Absenden des Formulars mit jQuery leer sind?yes
Verwenden Sie das erforderliche Attribut. Als Fallback für die Kompatibilität können Sie andere Wege nutzen.
– NÖ
15. Mai 2013 um 4:59 Uhr
@NEO “andere Wege” bietet überhaupt keine Hilfe.
– ProfK
7. Januar 2018 um 5:58 Uhr