warum bekomme ich ein "gibts" als Ausgabe, wenn mir das erste alert ein undefined gibt?
Das kann nicht sein, da musst du dich täuschen. Wenn field wirklich vom Typ undefined ist (typeof field == 'undefined'), dann kann es nicht sein, dass er in den Else-Zweig springt.
function validateInput(field, input) {
alert(field);
if(field == undefined) alert("neu");
else alert("gibts");
}
Welche Werte übergibst du denn der Funktion?
Wenn die Funktion keinen field-Parameter bekommt, also einfach validateInput() aufgerufen wird, dann ist field gleich undefined und es wird »neu« ausgegeben. Bei allen Browsern, die ich getestet habe.
Auch wenn du null übergibst (was z.B. getElementById und andere DOM-Methoden zurückgeben, wenn sie die gewünschten Elemente nicht finden), dann sollte »neu« ausgegeben werden, denn null ist auch gleich undefined.
Mathias