Radiobutton type ist undefined
PHP_Dude
- javascript
0 Cheatah0 Sven Rautenberg0 wahsaga
Hallo,
ich habe mir eine function "chkFormular" geschrieben, welche die Namen der Formularfelder übergeben bekommt, die überprüft werden sollen.
Für alle übergebenen Feldnamen erstelle ich ein Objekt "el":
var c=chkFormular.arguments;
for(var d=0; d<c.length; d++) {
eval('var el = document.forms[0].' + c[d] + ';');
alert(el.type);
}
Nun bekomme ich für jedes Feld den Typ zurück, nur beim Radiobutton liefert er "undefined".
Hat von Euch jemand Ahnung wie ich den korrekten Typ bekomme?
Ich vermute mal das die Erstellung von dem Objekt mit eval() auch anders möglich ist.
mfg
PHP_Dude
Hi,
Nun bekomme ich für jedes Feld den Typ zurück, nur beim Radiobutton liefert er "undefined".
beim Radiobutton? Überprüfe erst einmal, bei _was_ der Code in Wirklichkeit "undefined" zurückliefert. Aus dem Code ist das jedenfalls nicht ersichtlich.
Ich vermute mal das die Erstellung von dem Objekt mit eval() auch anders möglich ist.
Ja, und das solltest Du auch unter allen Umständen tun. Verzichte grundsätzlich auf eval(), sofern Du nicht einen wirklich, _wirklich_ guten Grund dafür hast. Diese Regel gilt übrigens für ausnahmsfrei alle Sprachen, die Dir jemals begegnen könnten.
Cheatah
Danke für die schnelle Antwort,
ich glaube das Problem mittlerweile gefunden zu haben und muss den Code deshalb sowieso komplett umstrukturieren.
Da die funktion zuerst den type braucht um das Formularfeld zu richtig zu prüfen habe ich bei radiobuttons das Problem das es immer mehrere sind.
Ich kann also nur jeden einzelnen radiobutton nach seinem type fragen.
thx
PHP_Dude
Da die funktion zuerst den type braucht um das Formularfeld zu richtig zu prüfen habe ich bei radiobuttons das Problem das es immer mehrere sind.
Ich kann also nur jeden einzelnen radiobutton nach seinem type fragen.
Mir scheint, du suchst sowas http://javascript.jstruebig.de/source/checkform.html
Struppi.
Moin!
Für alle übergebenen Feldnamen erstelle ich ein Objekt "el":
Nein, du überschreibst das eine Objekt immer wieder.
var c=chkFormular.arguments;
for(var d=0; d<c.length; d++) {
eval('var el = document.forms[0].' + c[d] + ';');
alert(el.type);
}
Ich vermute mal das die Erstellung von dem Objekt mit eval() auch anders möglich ist.
In der Tat. Lies http://de.selfhtml.org/javascript/objekte/elements.htm#type.
hi,
for(var d=0; d<c.length; d++) {
eval('var el = document.forms[0].' + c[d] + ';');
eval() ist hier absolut unnötig.
lies http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines - und berücksichtige, dass du für # nicht nur die nummer, sondern auch den namen eines elementes einsetzen kannst.
gruß,
wahsaga
" und berücksichtige, dass du für # nicht nur die nummer, sondern auch den namen eines elementes einsetzen kannst. "
Vielen herzlichen Dank für diesen Tipp.
Diese Seite habe ich heute schon mehrfach gelesen und es ist leider nicht ersichtlich das man auch den namen verwenden kann.
thx
PHP_Dude
hi,
Diese Seite habe ich heute schon mehrfach gelesen und es ist leider nicht ersichtlich das man auch den namen verwenden kann.
ich weiß, bekannte unzulänglichkeit von self an der stelle, die m.W. mit der nächsten version korrigiert werden soll.
gruß,
wahsaga
Moin!
ich weiß, bekannte unzulänglichkeit von self an der stelle, die m.W. mit der nächsten version korrigiert werden soll.
s/werden soll/ist/
hi,
ich weiß, bekannte unzulänglichkeit von self an der stelle, die m.W. mit der nächsten version korrigiert werden soll.
s/werden soll/ist/
wortklauberei :-P
korrigiert ist er für mich erst dann, wenn diese version auch die offzielle ist.
gruß,
wahsaga