2013-05-13 36 views
5

我可以使用Javascript重命名我的表单字段吗?如改变:使用Javascript重命名表单字段名称

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

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

你尝试过什么迄今为止改变的数据?你读过关于DOM操作的任何文档吗? – 2013-05-13 11:39:17

+0

如何删除和添加新元素的DOM对象。 – 2013-05-13 11:39:30

回答

9

当然是可能的:

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

您可以更改name属性,但在我看来,你应该不会改变id

您可以使用:

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

编辑

下面的语句是纯主观的,并且可能不会对SO一些空间。

W3.org

id属性在HTML几个角色:

  • 作为一个样式表选择。
  • 作为超文本链接的目标锚。
  • 作为从脚本引用特定元素的手段。
  • 作为声明的OBJECT元素的名称。
  • 对于由用户代理通用处理(例如,用于识别字段提取HTML页面数据时到数据库中,
    翻译HTML文档转换成其他格式等)

正如我看到它,这个ID是一个唯一的标识符,它非常适用于从脚本中检索元素(除此之外),并且我个人希望能够使用相同的选择器来检索这个单一元素,而不管它在运行时期间如何操作。所以,我不会改变它。

:如果我变换,我要记住,它曾经是前,我宁愿记住它的突变我将选择$('#chicken[name=horse]'),并将其伪造为使用其他CSS选择器。

+0

完全可以更改元素的“id”。 – Alnitak 2013-05-13 11:40:42

+0

Bigood:请详细说明为什么他不应该更改id – 2013-05-13 11:41:29

+2

您有'.setAttribute()'方法名称中的拼写错误。 – VisioN 2013-05-13 11:42:35

2

一旦你可以访问元对象(即具有getElementById)你可以改变其name属性:

el.name = 'horse'; 

该属性将镜像属性的值。

3

是的,有可能在使用运行时JS :)

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