Liebe(r) Christian,
document.getElementsByTagName("input");
[...]
Wie kann ich alle inputs innerhalb meiner Form (anstatt des ganzen Dokuments) finden?
Du hast die Lösung fast selbst schon gegeben. Dein obiger Code verwendet das document-Objekt, von dem er eine Methode aufruft. Was Du wahrscheinlich noch nicht ganz verinnerlicht hast, ist der Umstand, dass die Methode mit dem Objekt, zu dem sie gehört, zwingend verbunden ist. Wenn Du document.methode() notierst, dann wird methode() im Kontext von document angewandt.
Interessanterweise kennt jedes HTML-Elementobjekt diese Methode! Du kannst also anstatt des document-Objektes auch das Elementobjekt Deines Formulars nehmen:
var myForm = document.getElementById("MeineFormularID");
var zuPruefendeInputs = myForm.getElementsByTagName("input");
Wenn Du das im Rahmen eines onsubmit-Eventhandlers tust, dann ist die Referenz auf Dein Formular bereits im Schlüsselwort "this" enthalten. Folgende Funktion soll das zeigen (die Funktion selbst kann erst nach dem vollständigen Laden der Seite ausgeführt werden!):
function alleFormulareAusruesten () {
var i;
for (i = 0; i < document.forms.length; i++) {
document.forms[i].onsubmit = function (e) {
// "this" ist das <form>-Elementobjekt,
// in dem das onsubmit-Event aufgetreten ist.
var inputs = this.getElementsByTagName("input");
// prüfen
if (!ok) {
return false; // Fehler!
}
};
}
Liebe Grüße,
Felix Riesterer.
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)