Name als Array + getElementsByName
Rafael
- javascript
Hallo Forum,
ich lese mich grade für kleine Verbesserungen eines Projektes in JavaScript ein. Momentan bin ich hier:
function Ankreuzen (feldname) {
zahl = document.getElementsByName(feldname).length;
for(i = 0; i < zahl; i++) {
document.getElementsByName(feldname)[i].disabled = true;
}
}
<input type="text" name="Zutat[bla1]" value="Salami" onClick="alert(this.name);"> Salami <br>
<input type="text" name="Zutat[bla2]" value="Pilze"> Pilze <br>
<input type="text" name="Zutat[bla3]" value="Oliven"> Oliven <br>
<input type="button" value="Test" onclick="Ankreuzen('Zutat')">
und komme nicht weiter. Ich hab das original aus SelfHTML genommen und versuche alle Elemente anzusprechen die von mir aus Zutat[..] heißen. Ist das möglich?
Danke für Tipps!
Hi,
<input type="text" name="Zutat[bla1]" value="Salami" onClick="alert(this.name);"> Salami <br>
<input type="text" name="Zutat[bla2]" value="Pilze"> Pilze <br>
<input type="text" name="Zutat[bla3]" value="Oliven"> Oliven <br>
<input type="button" value="Test" onclick="Ankreuzen('Zutat')">
Du hast kein einziges Element namens "Zutat". Um genau zu sein haben alle Eingabefelder einen eigenständigen, offenbar einzigartigen Namen.
und komme nicht weiter. Ich hab das original aus SelfHTML genommen und versuche alle Elemente anzusprechen die von mir aus Zutat[..] heißen. Ist das möglich?
Ja, indem Du alle Namen ermittelst (bzw. kennst), die Du dann einzeln ansprichst.
Cheatah
Natürlich, dass ist mir bewusst. Allerdings hatte ich gehofft, dass JavaScript die Zugehörigkeit erkennt. Gibt es eine einfache Methode alle Namen ähnlich xyz anzusprechen?
Danke für die erste Hilfe schon einmal.
Grüße.
Hi,
Natürlich, dass ist mir bewusst. Allerdings hatte ich gehofft, dass JavaScript die Zugehörigkeit erkennt.
wieso sollte es das tun? Die Namen sind alle anders, da gibt es keine Zugehörigkeit.
Gibt es eine einfache Methode alle Namen ähnlich xyz anzusprechen?
Nein.
Cheatah
wieso sollte es das tun? Die Namen sind alle anders, da gibt es keine Zugehörigkeit.
Im Sinne der Post- und Get-Variablen von zum Beispiel PHP vielleicht? War nur eine Vermutung bis Hoffnung.
Nein.
Das ist auch schon alles was ich (nicht) hören wollte.
Grüße.
Hi,
wieso sollte es das tun? Die Namen sind alle anders, da gibt es keine Zugehörigkeit.
Im Sinne der Post- und Get-Variablen von zum Beispiel PHP vielleicht?
irgendwelche PHP-Konzeptfehler interessieren JavaScript kein Stück.
War nur eine Vermutung bis Hoffnung.
Begehe nicht den Fehler, PHP in irgendeiner Form als Maßstab anzusehen. Die Sprache ist bestenfalls Durchschnitt.
Cheatah
Hallo,
Gibt es eine einfache Methode alle Namen ähnlich xyz anzusprechen?
Ja, durchlaufe alle relevanten Elemente mit getElementsByTagName() [1] und prüfe den Namen mit regulären Ausdrücken.
[1] Falls es sich um unterschiedliche Elemente handelt, kannst du als Tag-Namen auch „"*"“ eintragen. Das verschlechtert natürlich die Performance.
mfg. Daniel
Hallo Rafael,
<input type="text" name="Zutat[bla1]" value="Salami" onClick="alert(this.name);"> Salami <br>
<input type="text" name="Zutat[bla2]" value="Pilze"> Pilze <br>
<input type="text" name="Zutat[bla3]" value="Oliven"> Oliven <br>
und versuche alle Elemente anzusprechen die von mir aus Zutat[..] heißen. Ist das möglich?
Wenn du alle Elemente mit gleichem Namen ansprechen willst, dann musst du ihnen auch allen gleiche Namen geben, was du aber offensichtlich nicht machst.
Gruß Gernot