• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

suche kürzeren programmier weg!

burns

Neues Mitglied
Hi Leute

ich hab ein formular und will jedes feld mit der routine überprüfen, im moment mach ich das mit document.GetElementById(), dazu muss ich aber jedes mal alle eingabefelder extra programmieren.
kann ich nicht eine einzige routine (also document.?) machen und diese jedesmal auf das jeweilige feld anwenden?

Danke
 
Werbung:
Eine Möglichkeit wäre, die IDs alle in ein Array zu schreiben und das abzuarbeiten.
Eine andere wäre, sich von js alle Input-Felder auflisten zu lassen und die bearbeiten zu lassen:
Code:
var inputFields = document.getElementsByTagName("input");
for (var i in inputFields) {
  var field = inputFields[i];
  ...
}
 
Werbung:
Ähm, sollen wir dir jetzt wirklich alles vorkauen oder kannst du auch mal selber nachsehen, wie man Daten an eine Funktion weitergibt?? :( :( :(

Code:
<script type="text/javascript">
function checkForm (idOfField) {
  alert(document.getElementById(idOfField).value);
}
</script>
:
:
:
<input type="text" name="name" id="name" onblur="checkForm('name')">
 
Werbung:
Code:
<script type="text/javascript">
function checkForm (idOfField) {
  alert(document.getElementById(idOfField).value);
}
</script>
:
:
:
<input type="text" name="name" id="name" onblur="checkForm('name')">

Oder noch ein Tick einfacher:
Code:
<script type="text/javascript">
function checkForm (idOfField) {
  alert(document.getElementById(idOfField).value);
}
</script>
:
:
:
<input type="text" name="name" id="name" onblur="checkForm(this.id)">
 
IDs braucht man dafür nicht mal zwingend:

Code:
<script type="text/javascript">
function checkForm (field) {
  alert(field.value);
}
</script>
:
:
:
<input type="text" name="name" id="name" onblur="checkForm(this);">
 
Werbung:
Sofern man ohne Safari und ältere IE Versionen auskommt, geht es noch kürzer.

Code:
[LEFT][COLOR=#333333]<input type="text" name="name" required />[/COLOR][/LEFT]
 
Ja, wenn man nur auf Pflichtfeld prüfen will ;) Mitunter will man ja noch auf das Format von der Eingabe prüfen, email oder integer geht mit HTML5 ja auch noch. Aber spezielle Angaben wie "Uhrzeit" nicht wirklich ;)
 
Damit hast du natürlich recht. Allerdings sollte diese Form der Überprüfung nur der Bequemlichkeit (des Users) dienen und keinen Ersatz für eine serverseitige Validierung darstellen. Mit JS lässt sich sich eine übergebene E-Mail gegen ein RegEx matchen, aber das sagt noch nichts darüber aus, ob es sich um einen Trashmailer handelt, dessen Domain in der DB blacklisted ist. Es sei denn, man würde Ajax einsetzen.

Ich würde trotzdem die neuen <input> Attribute verwenden, auch wenn diese z.Zt. nicht in allen Browsern funktionieren und man zusätzlich ein JS Fallback schreiben muss. Wenn jeder aus Gründen der Abwärtskompatibilität auf HTML5 verzichtet, hängen wir in 5 Jahren noch bei XHTML.
 
Werbung:
Zurück
Oben