Javascript按名称更改字段值

Posted

技术标签:

【中文标题】Javascript按名称更改字段值【英文标题】:Javascript change fields value by name 【发布时间】:2011-05-24 02:01:31 【问题描述】:

我有一个表单,其中某些字段具有相同的元素名称。有没有办法改变所有同名字段的值?

【问题讨论】:

注意:如果它们是单选按钮,它们应该具有相同的名称。 【参考方案1】:

您可以使用 JQUERY 做更简单的事情 示例:

html

<div id="form">
<input type="text" name="myinput" vale="yussan" />
</div>

js

var value = $('#form input[name=myinput]').val()

【讨论】:

【参考方案2】:

1) 使用getElementsByName 将元素放入数组中。 2) 遍历数组并设置每个元素的值。

代码:

var els=document.getElementsByName("yourElementNameHere");
for (var i=0;i<els.length;i++) 
els[i].value = "yourDesiredValueHere";

如果您只想更改表单中具有该名称的元素,请使用表单而不是document,例如:document.getElementById("yourFormID").getElementsByName(...)

【讨论】:

getElementsByName seems not to be supported by IE or Opera! @Felix Kling:该页面显示为“不完整且不正确”(违反 W3C DOM2 规范),但它支持。 反正我不喜欢这种做法,太全球化了 @user205376:不完整和不正确听起来很像不要使用那种方法!imo。 @Felix Kling:查看 PPK 所概述的“不完整和不正确”的含义(此方法非常过时,并且在 W3C 采用之前是 IE 特定的 :-) 【参考方案3】:

样本表格

<form name="form1">
    <input type="button" name="buttons" value="button1">
    <input type="button" name="buttons" value="button2">
    <input type="button" name="buttons" value="button3">
</form>

脚本

var form = document.form1;    // form by name 
var form = document.forms[0]; // same as above, first form in the document
var elements = form.buttons; // elements with same name attribute become a htmlCollection
for (var i=0; i<elements.length; i++) 
   elements[i].value = elements[i].value.replace("button", "buttoff");

http://jsfiddle.net/yGV3R/

【讨论】:

以上是关于Javascript按名称更改字段值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript spread... 语法更改对象的一个​​字段,该字段属于数组并通过名称-值对访问?

无法重置布尔值 - Javascript

DRF 使用外键更改 django 模型的字段名称值

javascript onsubmit 更改字段值

将Button标签名称取为UILongPressGestureRecognizer,更改var并返回值为Button的标签

如何按字段值(即“原因”字段名称及其值可能是“垃圾邮件”、“裸露”等)对 Firebase Firestore 数据进行排序