Ich möchte prüfen, ob ein Eingabe-Tag namens "field2" existiert, wenn der Benutzer den Eingabe-Namen "field1" ausfüllt. Ich mache das, indem ich eine JavaScript-Funktion unter Verwendung des onchange
Ereignisses auf field1s input
Tag ausführe. (Ich teste das mit Hilfe von Alarmfeldern.) Wenn Feld2 nicht existiert, klickt JavaScript auf eine Schaltfläche und das Formular wird aktualisiert, um sowohl field1 als auch field2 zu haben. Aber die Alarmbox erscheint, selbst wenn field2 existiert, egal welche der drei Methoden ich benutze. Ich habe alle möglichen Kombinationen unter Verwendung if
mit null
und 'undefined'
, etc.Überprüfen, ob eine Formulareingabe existiert
versucht Warum erscheinen die Alarmfelder, wenn Feld2 existiert?
function foobar(){
if(!document.getElementsByName("field2"){
alert("foobar");
}
if(!document.forms[0].field2){
alert("foobar");
}
if(!document.forms[0].elements.namedItem("field2"){
alert("foobar");
}
}
Bitte erstellen Sie ein http://jsfiddle.net/ mit Ihrem HTML-Code. –
BTW, Ihr Code ist nicht vollständig korrekt, aber ich kann das Verhalten, das Sie sehen, nicht reproduzieren. Wenn 'field2' existiert, wird keine Warnung angezeigt: http://jsfiddle.net/jS7dT/. Sie müssen weitere Informationen geben ... –