Javascript Name vs ID

7

Soweit ich weiß, gibt es zwei Möglichkeiten, um den Wert aus einem Textfeld entweder

zu erhalten %Vor%

oder

%Vor%

Wie ich verstanden habe, würde die Verwendung des Formularnamens bedeuten, dass ich weniger Code zum Schreiben habe, da der Name für das Posten von Daten und das Abrufen des Wertes verwendet werden kann (abgesehen von der Verwendung von Ajax). Als wenn ich nur mit einem Standardformular posten würde, würde ich name zum Posten verwenden, aber ich kann id nicht verwenden?

z.B. In PHP würde ich

verwenden %Vor%

Wenn ich wo und ID in der Textbox habe, kann ich den Wert nicht mit php bekommen?

Welcher Standard wird empfohlen, und verwendet name browser friendly? Links wenn möglich bitte, danke.

    
Elliott 14.10.2010, 18:18
quelle

5 Antworten

12

Der ultimative Leitfaden hierfür ist die HTML-Spezifikation .

Dinge, die da draußen stehen:

  • id gilt für jedes HTML-Element, während name nur für einige wenige gilt ( a , input , textarea und vielleicht ein paar andere).
  • Ein input (und textarea ) Element erfordert das name wird gesetzt, wenn es gesendet werden soll.
Vilx- 14.10.2010, 18:22
quelle
4

Das Attribut name wird beim Übermitteln des Formulars verwendet, d. h. um ein Name-Wert-Paar zu erstellen, das zum Server verarbeitet wird. Das id -Attribut wird zum Suchen und Element im DOM verwendet. Normalerweise wird der Name nur für die Formularelemente

verwendet

Referenzen:

Ссылка
Ссылка

    
Sergii Pozharov 14.10.2010 18:26
quelle
1

Ich benutze normalerweise beide. Wie Sie bereits erwähnt haben, ist name nützlich, um die Daten über JavaScript zu verwenden und auch nachdem sie gesendet wurden. Fühlen Sie sich frei, zusätzliche Zeichen in name nach Bedarf zu verwenden: Ich verwende [] s in meinen Namen, wenn die Eingabe in einer Array-Server-Seite verwendet wird.

Das Attribut id kann für den Zugriff auf das Element über JS / das DOM verwendet werden. Es wird auch vom Attribut <label> von for verwendet. Wenn Sie dies beispielsweise mit Kontrollkästchen tun, wird das Kontrollkästchen aktiviert, wenn Sie auf das Label klicken. Das ist ein großes Plus für die Benutzerfreundlichkeit.

    
Colin O'Dell 14.10.2010 18:32
quelle
1

Ich halte es für eine gute Praxis, für jedes Formularelement eine ID und zu haben. Der Grund dafür ist, dass wenn Sie Etiketten hinzufügen oder über Stylesheets formatieren möchten (was Sie tun sollten), es sinnvoll ist, beides zu haben.

Für den Zugriff mit Javascript: Der bessere Weg wäre, mit der ID des Elements zu gehen, denn wenn Sie den Namen des Formulars ändern, bricht alles zusammen. Dies passiert nicht, wenn Sie die ID verwenden.

    
Atomix 14.10.2010 18:32
quelle
1

Ich bevorzuge die Verwendung von IDs, da die "Funktion" (z. B. was Sie zu erreichen versuchen) Ihres Codes nicht mit der Semantik verbunden ist. Für mich hebt .GetElementById ('myid') mehr hervor, und ist lesbarer, dass nur "Myid" unter dem Code verstreut ist. Außerdem können Sie Elemente einfacher umbenennen. Das ist mein 2p wert!

    
Simon Catlin 14.10.2010 19:07
quelle

Tags und Links