Javascript изменить значение полей по имени
У меня есть форма, где некоторые поля имеют одно и то же имя элемента. Есть ли способ, чтобы изменить значение всех полей с одинаковым именем?
3 ответов
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(...)
вы можете сделать более простым с JQUERY пример :
HTML-код
<div id="form">
<input type="text" name="myinput" vale="yussan" />
</div>
js
var value = $('#form input[name=myinput]').val()
образец форма
<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");