Hi!
Der Name des Formularelementes soll ebenfalls mindestens einen Buchstabe, kann weitere Ziffern oder den Unterstrich enthalten und darf nicht mit einer Ziffer beginnen.
Wer sagt das?
Ich zum Beispiel. Und hinsichtlich der Weiterverarbeitung mit einem vom Formular unabhängigen Programm ist es auch sinnvoll dieser Empfehlung zu folgen.
Dann ist das also kein "soll" sondern eine Empfehlung, um einige Probleme der Weiterverarbeitung zu umgehen. So formuliert hat man doch gleich eine angedeutete Begründung, die etwas einleuchtender ist als einfach nur ein "Lehrsatz".
var i="3";
Gibtdocument.forms[0].elements[i].value
den
[A] Wert des 4. (Zählung beginnt bei 0) Formularelements oder
[B] den Wert des Formularelements mit dem "Name" "3"
des ersten Formulares zurück?
In dem Fall kommt ein "document.forms[0].elements[i] is undefined" im Firefox. Mit dem Firebug kann man in elements sehen, dass ein Element mit dem Namen "3" enthalten ist. Aber beim Zugriff auf elements[i] wird wohl die Zahl in i erkannt und als solche verwendet. Da es in dem Fall keine 4 Elemente gibt, kommt es zum Error, ansonsten wäre A die richtige Antwort, aber sicher nicht das gewünschte Ergebnis.
Was passiert, wenn
<form>
<input name="3-1" type="text">
</form>
> an den Server zurück gesendet und z.B. in PHP oder PERL ausgewertet wird?
In PHP nichts weiter. var\_dump($\_GET) ergibt:
array(1) {
["3-1"]=>
string(3) "bla"
}
Und man kann ganz normal mit $\_GET['3-1'] zugreifen.
PERL kann ich nicht, Perl auch nicht.
Lo!