Ich habe den folgenden Code, in dem ich versuche, über Html-Texteingabeelemente zu iterieren, eine Validierung durchzuführen und die Formularübermittlung zu verhindern, wenn die Validierung fehlschlägt:
$("#the_form").submit(function(){
$(":text", this).each(function(){
if($(this).val().length != 0)
{
var str = $(this).val();
str = $.trim($(this).val());
$(this).val(str);
if($(this).val().length < 4)
{
alert("You should enter at least 4 characters");
$(this).focus();
return false;
}
}
}) // end of each() function
return true;
})
Wenn ich die Funktion .each() entferne und jedes Element einzeln ausführe (was offensichtlich kein sehr guter Ansatz ist), erhalte ich die gewünschten Ergebnisse. Wenn ich den Code jedoch so verwende, wie er ist, wird das Formular auch dann übermittelt, wenn der Benutzer nicht mindestens vier Zeichen eingegeben hat. Irgendwelche Ideen, was ich hier falsch machen könnte? Für jede Hilfe bin ich dankbar. Vielen Dank im Voraus.