Variablen/Feldernamen mit [ oder ] im Namen.
Crash022
- javascript
Hallo liebe SELFHTML-Gemeinde!
Ich habe eine kleine Herausforderung vor mir und werde wahrscheinlich ohne fremde Hilfe nicht weiter kommen können.
Ich habe eine Form ...
<FORM NAME=TestForm>
<INPUT TYPE=checkbox NAME="field_changed[1]">
<INPUT TYPE=text NAME=text[1] VALUE="" OnChange(document.TestForm.field_changed[1].value.checked = true)>
<INPUT TYPE=checkbox NAME="field_changed[2]">
<INPUT TYPE=text NAME=text[2] VALUE="" OnChange(document.TestForm.field_changed[2].value.checked = true)>
<INPUT TYPE=checkbox NAME="field_changed[3]">
<INPUT TYPE=text NAME=text[3] VALUE="" OnChange(document.TestForm.field_changed[3].value.checked = true)>
</FORM>
... und ich muss jeden Checkbox "field_changed[x]" auf "on" setzen, wenn der entsprechende Feld "text[x]" geändert wurde.
ABER! Mein Problem ist - wenn ich OnChange(document.TestForm.field_changed[1].value.checked = true) verwende, versteht javaScript "field_changed[1]" NICHT als Element-Name sondern als Array. Wie kann ich javaScript deutlich machen, dass es sich um eine Name und nicht um eine Array handelt?
Wie kann mein Problem gelöst werden, gibt es andere Wege?
VIELEN DANK !!!! :)
Viele Grüße,
Crash022
hi,
Ich habe eine kleine Herausforderung vor mir und werde wahrscheinlich ohne fremde Hilfe nicht weiter kommen können.
mal im </archiv/> zu dieser wirklich häufig gestellten frage zu suchen, hätte dir schon weiterhelfen sollen ...
ABER! Mein Problem ist - wenn ich OnChange(document.TestForm.field_changed[1].value.checked = true) verwende, versteht javaScript "field_changed[1]" NICHT als Element-Name sondern als Array. Wie kann ich javaScript deutlich machen, dass es sich um eine Name und nicht um eine Array handelt?
in dem du die schreibweise aus dem ersten beispiel unter http://selfhtml.teamone.de/javascript/objekte/elements.htm#allgemeines verwendest - für # die entsprechenden namen einsetzen.
gruss,
wahsaga
Hi wahsaga,
vielen Dank für Deine Antwort. Aber ...
mal im </archiv/> zu dieser wirklich häufig gestellten frage zu suchen, hätte dir schon weiterhelfen sollen ...
... habe ich als Erstes gemacht ... wenig gefunden ;-).
in dem du die schreibweise aus dem ersten beispiel unter http://selfhtml.teamone.de/javascript/objekte/elements.htm#allgemeines verwendest - für # die entsprechenden namen einsetzen.
Mein Problem ist .. dass ich NICHT die Zählung der Elemente vornehmen will, sondern einfach Element "field_changed[2133]", selbst wenn das das EINZIGSTE Element in der Form ist, ansprechen will!
Diese Schreibweise benötige ich um in PHP danach einfach eine Array einlesen zu können:
ARRAY field_changed("2133" => "on").
Ich muss in JavaScript einfach den Elementennamen mit eckigen Klammen übergeben!
Viele Grüße,
Ctash022
hi,
Mein Problem ist ..
dass du nicht aufmerksam genug liest.
dass ich NICHT die Zählung der Elemente vornehmen will, sondern einfach Element "field_changed[2133]", selbst wenn das das EINZIGSTE Element in der Form ist, ansprechen will!
beachte meinen nachsatz nach dem link,
für # die entsprechenden namen einsetzen.
Ich muss in JavaScript einfach den Elementennamen mit eckigen Klammen übergeben!
na dann mach doch endlich :-)
document.forms["formularname"].elements["field_changed[2133]"].eigenschaft
oder auch, wenn der formularname nicht mit solchen sonderzeichen ausgestattet ist - TestForm war's glaube ich in deinem beispiel:
document.TestForm.elements["field_changed[2133]"].eigenschaft
gruss,
wahsaga