Ist es redundant, verwenden Sie die "name" - Attribut für input-Felder in der modernen web-Entwicklung?
Mir ist aufgefallen, dass viele der websites, die mit der form(N), input-Felder, deren Attribut "name" angegeben ist, auch wenn es nicht verwendet für styling-oder scripting-Zwecke!
Darüber hinaus nach das offizielle Dokument über das Formular im HTML-Dokument ...
name = cdata [CI] Dieses Attribut Namen
das element, damit es bezeichnet werden kann
von style sheets oder Skripte. Hinweis.
Dieses Attribut wurde
rückwärts-Kompatibilität. Anwendungen
sollte mit dem id-Attribut zu
identifizieren von Elementen.
So, meine Frage ist: sollte dieses Attribut nur für styling und scripting-Zwecke?
Vielen Dank im Voraus!
EDIT: insbesondere konnte vermieden werden, die Verwendung dieses Attributs mit input-Feldern von Typ "text" (wenn es nicht keine styling-oder scripting-Zwecke)?
EDIT 2: So haben Sie fast das bestätigt, was ich gedacht hätte: die "name" - Attribut deprecated in weitere HTML-Spezifikationen/standards!!!??? Es ist noch "am Leben" nur for backwards compatibility
... in einigen Fällen vermieden werden können, aber es gibt noch einige Fälle (wie den radio-button), wo es notwendig ist!
- Ihr Zitat ist für das FORM-element, nicht input-Elemente. Müssen Sie immer noch zu geben, input-Elemente einen Namen, um Ihre server-side-code korrekt zu Lesen, den eingereichten Informationen.
- Tut mir Leid, du hast Recht! Über den submit-Prozess, den ich Zustimmen, aber meine Frage ist mehr allgemein, in der Tat als Unterstrichen aus der unten Antworten, es gibt Fälle, in denen dieses Attribut ist überflüssig!!! Aber danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
name
Attribut ist die notation zur Referenz bestimmte Elemente innerhalb des Bereichs einer Webseite durch nicht-DOM-Javascript:Den
id
- Attribut für das element gesetzt werden muss mit dem gleichen Wert für die folgenden arbeiten:Mein Verständnis ist, dass, wenn Netscape Javascript erstellt, verwendet es die
name
Attribut. Der HTML-Spezifikation jedoch beschlossen zu gehen mitid
, hielt sich abername
für rückwärts Kompatibilität. IME, mit dername
- Attribut wurde für Internet Explorer 6-Unterstützung, da der javascript-engine im IE wäre das nicht Lesenid
Attribut - nur diename
obwohl beide definiert wurden.Wenn Sie über keine javascript-anbei der text-Felder, ja - wären Sie unnötig.
Ich glaube, Sie ' ll finden fast jede Website haben Eingänge mit dem name-Attribut. Ich sehe es nicht Weg jederzeit schnell.
Quelle
Gibt es Unterschiede zwischen id-und name-Attribute. Eine id ist für jedes element im HTML-Dokument, während ein name ist relevant für die input-Felder nur. Eine id ist erforderlich, die von standard-einmalig in eine Seite (wenn auch nicht unbedingt befolgt in allen web-Seiten). Verschiedene Elemente können haben denselben Namen, obwohl. Einen besonderen Fall kommt in den Sinn, ist die radio-Taste. Alle radio-buttons sollten den gleichen Namen haben und der Wert, der ausgewählt ist gegeben wäre, zurück zu der form. Sie sehen also, dass Namen immer noch von Bedeutung ist, im HTML-Formular verarbeiten.
Habe ich gesehen, automatische HTML-Formular-generation-Systeme (wie zope.formlib), die id-und name-Attribute beide werden automatisch generiert, für die verschiedenen Arten von input-widgets. Diese automatische Formular-Generierung-Systemen nehmen Sie die richtige Pflege der alle Nuancen verbunden mit unterschieden in der id-und name-Attribute. Sie tun auch Dinge wie die Erzeugung einer versteckten input-element für jede checkbox-element. Also, wo immer möglich, versuche ich zu nutzen, eine Art automatische HTML-Formular Generierung Mechanismus und lassen Sie Sie kümmern sich um die Probleme.
Dies ist eine alte Frage, aber es ist erwähnenswert, dass viele der modernen JS-frameworks setzen auf die
name
Attribut. Insbesondere, jQuerySerialisierung
Funktion:Wenn überhaupt, dann
name
scheint ein comeback.Es ist auch erwähnenswert, dass die
name
Attribut ist nützlich, weil es hat ein bisschen mehr "Umfang" alsid
.id
muss eindeutig sein innerhalb einer Seite, aber das gleichename
kann mehrmals verwendet werden. Dies macht es nützlich, wenn Sie mehrere Formulare auf der gleichen Seite, oder wenn Sie möchten, verweisen auf eine Gruppe von Checkboxen, etc.IIRC ältere Browser verwenden Namen anstelle der ID, das ist, warum es ist normalerweise im Lieferumfang enthalten.