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

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

【问题讨论】:

  • 注意:如果它们是单选按钮,它们应该具有相同的名称。

标签: javascript html forms dom


【解决方案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(...)

    【讨论】:

    • @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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-24
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 2022-07-29
      • 1970-01-01
      • 2021-08-12
      相关资源
      最近更新 更多