2009-06-15 2 views
6
<p> 
    <input type="text" id="search" name="keywords" /> 
    <input type="submit" value="Search" name="Submit" /> 
</p> 

Für den obigen Code bekam ich Validierungsfehler, aber sobald ich die ID = "Suche" entfernt hatte, war die Validierung gut und fehlerfrei. Ich dachte, du brauchst eine ID, aber ich frage mich, ob es da sein soll?Ist die "ID" in einem Eingabe-Tag notwendig?

+0

Welche Validierungsfehler haben Sie bekommen? –

+0

Ich fand heraus, dass ich nur ID = "Suche" zu einem anderen Namen ändern musste, weil es einen anderen Sucheingabetyp mit dem gleichen Namen gab. Also wollte ich es nur umbenennen. – Holly

Antwort

11

Haben Sie weitere Elemente mit dieser ID im Dokument? Das wäre der einzige Grund, warum die Validierung fehlschlägt. IDs sollen im Dokument eindeutig sein, wenn Sie sie an anderer Stelle haben, wäre sie ungültig.

IDs sind gut, wenn Sie eine Art clientseitige Arbeit an dem Element planen, da ein Element mit einer ID einfach und schnell von JavaScript abgerufen werden kann. Es ist auch gut, wenn Sie <label> Elemente verwenden, da Sie das Attribut for (das eine ID verwendet) verwenden können, um auf das Feld zu zeigen.

Ansonsten ist es nicht wirklich wichtig.

+1

Das Label Ziel ist der Hauptgrund, warum ich sie verwende. Ich hasse Hass-Webseiten, die mich auf den Radioknopf oder das Kontrollkästchen klicken. –

+0

Nein, es gibt nichts anderes mit dieser ID. Ich dachte, das wäre der Fall, aber ich war mir nicht 100% sicher. Also habe ich es einfach entfernt und es ist in Ordnung. Vielen Dank! – Holly

3

Sie benötigen das ID-Attribut nicht. Das Namensattribut wird übergeben.

+1

Das ist falsch. IT ist eigentlich umgekehrt: http://www.devguru.com/technologies/xhtml/QuickRef/xhtml_attribute_id.html –

-4

Daniel hat Recht. Das Attribut für ein Label ist mit dem Attribut name eines Eintrags verknüpft. Wenn Sie also eine Bezeichnung mit for = "first_name" auswählen, wird die Eingabe mit name = "first_name" ausgewählt.

+1

Diese Antwort ist eigentlich falsch.