2013-05-13 15 views
5

Kann ich ein Feld meines Formulars mit Javascript umbenennen? Wie verändert sich:Umbenennen des Formularfeldnamens mit Javascript

<input type="text" name="chicken" id="chicken"/> 

zu

<input type="text" name="horse" id="horse"/> 
+0

Was Sie bisher versucht haben? Hast du irgendwelche Dokumente zur DOM-Manipulation gelesen? –

+0

Wie zum Entfernen und Hinzufügen eines neuen Elements zum Dom-Objekt. –

Antwort

9

Natürlich ist es möglich:

var field = document.getElementById("chicken"); 
field.id = "horse"; // using element properties 
field.setAttribute("name", "horse"); // using .setAttribute() method 
5

Sie das name Attribut ändern, aber meiner Meinung nach, sollten Sie nicht die id ändern .

können Sie verwenden:

document.getElementById("chicken").setAttribte('name', 'horse'); 

bearbeiten

Die folgende Anweisung rein subjektiv ist, und könnte einige Zimmer nicht auf SO haben.

Von W3.org:

Das id-Attribut hat mehrere Rollen in HTML:

  • Als Stylesheet-Selektor.
  • Als Ziel Anker für Hypertext-Links.
  • Als ein Verweis auf ein bestimmtes Element aus einem Skript.
  • Als der Name eines deklarierten OBJECT-Elements.
  • Für allgemeine Verarbeitung von Benutzerprogrammen (zB für Felder zu identifizieren, wenn Daten von HTML-Seiten in eine Datenbank zu extrahieren,
    übersetzen HTML-Dokumente in andere Formate, usw.)

Wie ich es sehe, Die ID ist ein eindeutiger Bezeichner, der wirklich nützlich ist, um ein Element aus einem Skript (unter anderem) abzurufen, und ich möchte persönlich dieses einzelne Element mit demselben Selektor abrufen können, egal welche Manipulation es zur Laufzeit erleidet. Also, ich werde es nicht ändern.

Beispiel: Wenn ich ein Huhn in ein Pferd verwandeln, halte ich daran, dass es ein Huhn vor, und ich mag lieber daran erinnern, es als eine Mutante verwendet werden, die ich werde Wählen Sie mit $('#chicken[name=horse]'), und fälschen Sie es als Pferd mit anderen CSS-Selektoren.

+0

Es ist durchaus möglich, die ID eines Elements zu ändern. – Alnitak

+0

Bigood: bitte erläutern, warum er die ID nicht ändern sollte –

+2

Sie haben einen Tippfehler im Namen der '.setAttribute()' Methode. – VisioN

2

Sobald Sie Zugriff auf das Element Objekt haben (das heißt mit getElementById) können Sie einfach seine name Eigenschaft ändern:

el.name = 'horse'; 

Das Attribut wird den Wert der Immobilie spiegeln.

3

Ja, es möglich, alle Daten zur Laufzeit mit js zu ändern :)

var elementToRename = document.getElementById("chicken"); 
elementToRename.id = "horse"; 
elementToRename.setAttribute("name","horse"); = "horse";