auf ein Form-Element zugreifen
Twilo
- javascript
0 Skeeve0 Mathias Brodala0 Twilo0 Mathias Brodala0 Twilo
Hallo,
ich habe ein Formularelement wie folgt erstellt
<input name="option[1]" type="hidden" value="1" />
wenn ich per JavaScript folgendes aufrufe
alert(document.forms[0].option[1].value);
Opera gibt mir folgende Fehlermeldung aus
----------------------------------------------------------------------------
JavaScript - http://xxx.de/index.php
Event thread: load
Error:
name: TypeError
message: Statement on line 90: Could not convert undefined or null to object
Backtrace:
Line 90 of inline#1 script in http://xxx.de/index.php
alert(document.forms[0].option[1].value);
Line 1 of script
elementeAktualisieren();
At unknown location
[statement source code not available]
----------------------------------------------------------------------------
wie kann, bzw. muss ich diese Fehlermeldung "Could not convert undefined or null to object" verstehen?
mfg
Twilo
Moin!
Du hast etwas im Namen verwendet, was man nicht verwenden sollte: [1].
Mit option[1] versucht JS den Zugriff auf Index 1 des arrays "option". Da es das Array nicht gibt, wird das zu "null" und in der Folge schlägt natürlich auch der Zugriff auf null.value fehl.
-- Skeeve
Hallo Twilo.
ich habe ein Formularelement wie folgt erstellt
<input name="option[1]" type="hidden" value="1" />
wenn ich per JavaScript folgendes aufrufe
alert(document.forms[0].option[1].value);
Opera gibt mir folgende Fehlermeldung aus
Du müsstest ja auch folgendermaßen auf das Formularelement zugreifen:
document.forms[0].elements['option[1]'].value
Über diese Schreibweise kannst auf auf Objekte und Eigenschaften aller Art zugreifen, selbst wenn sie übliche Namenskonventionen brechen.
Einen schönen Samstag noch.
Gruß, Mathias
Hallo,
Du müsstest ja auch folgendermaßen auf das Formularelement zugreifen:
document.forms[0].elements['option[1]'].value
Über diese Schreibweise kannst auf auf Objekte und Eigenschaften aller Art zugreifen, selbst wenn sie übliche Namenskonventionen brechen.
danke, ich werde das mal testen
wie kann ich denn sonst ein Array erstellen lassen?
in php kam ein Array bei raus
mfg
Twilo
Hallo Twilo.
Du müsstest ja auch folgendermaßen auf das Formularelement zugreifen:
document.forms[0].elements['option[1]'].value
Über diese Schreibweise kannst auf auf Objekte und Eigenschaften aller Art zugreifen, selbst wenn sie übliche Namenskonventionen brechen.
danke, ich werde das mal testen
wie kann ich denn sonst ein Array erstellen lassen?
In JavaScript gar nicht. Du kannst höchstens, wie oben geschehen, die bestehende Objekthierarchie nutzen.
in php kam ein Array bei raus
PHP ist ja auch eine Sache für sich.
Einen schönen Samstag noch.
Gruß, Mathias
Hallo,
in php kam ein Array bei raus
PHP ist ja auch eine Sache für sich.
wie löst man denn das Problem in anderen Sprachen?
Beispiel phpMyAdmin
dort kann man mehrere Datensätze per Ceckboxen auswählen
dort nennen sie die Cechbox z.B. "rows_to_delete[+%60_eigenschaft_id%60+%3D+1]"
wenn das Formular abgeschickt wird, steht dann $_POST['rows_to_delete'][...] zur Verfügung
mfg
Twilo
Hallo Twilo.
in php kam ein Array bei raus
PHP ist ja auch eine Sache für sich.
wie löst man denn das Problem in anderen Sprachen?
Keine Ahnung, da ich andere kaum kenne.
Beispiel phpMyAdmin
dort kann man mehrere Datensätze per Ceckboxen auswählen
dort nennen sie die Cechbox z.B. "rows_to_delete[+%60_eigenschaft_id%60+%3D+1]"
wenn das Formular abgeschickt wird, steht dann $_POST['rows_to_delete'][...] zur Verfügung
Und? Dass PHP Array-ähnliche Zeichen automatisch in ein Array konvertiert, ist bekannt.
Was hat das mit JavaScript zu tun?
Einen schönen Sonntag noch.
Gruß, Mathias
Hallo,
Beispiel phpMyAdmin
dort kann man mehrere Datensätze per Ceckboxen auswählen
dort nennen sie die Cechbox z.B. "rows_to_delete[+%60_eigenschaft_id%60+%3D+1]"
wenn das Formular abgeschickt wird, steht dann $_POST['rows_to_delete'][...] zur Verfügung
Und? Dass PHP Array-ähnliche Zeichen automatisch in ein Array konvertiert, ist bekannt.
Was hat das mit JavaScript zu tun?
na nichts, das habe ich auch nicht behauptet :-)
wenn hat das hächstens etwas mit HTML zu tun
ich frage mich trotzdem, wie man das lösen kann, damit es wohlgeformtes HTML ist ;)
mfg
Twilo
Hallo Twilo.
ich frage mich trotzdem, wie man das lösen kann, damit es wohlgeformtes HTML ist ;)
In HTML gibt es so etwas wie „Wohlgeformtheit“ nicht; dies ist eine Eigenschaft von XML und seinen Derivaten.
Und was genau meinst du nun? Wie du per JS auf das Formularfeld zugreifen kannst, weißt du ja nun schon.
Einen schönen Sonntag noch.
Gruß, Mathias