w3c document.forms [0]. fieldname эквивалент - PullRequest
3 голосов
/ 11 мая 2010

Я использую

document.forms[0].fieldname.value

чтобы получить значения в javascript из формы, но я хотел бы использовать имя для ссылки на поле, а не 0, что будет эквивалентно в наши дни, так как <form name="formname"> не соответствует?

Ответы [ 5 ]

6 голосов
/ 11 мая 2010

коллекция форм является стандартным DOM 1, в этом нет ничего плохого.

document.forms.formId.elements.field
3 голосов
/ 11 мая 2010

Самый простой способ - добавить идентификатор для ввода: <input id="fieldname" /> и ссылаться на значение из JavaScript, например, так:

document.getElementById('fieldname').value

или, если вы используете jQuery

$('#fieldname').val();
2 голосов
/ 18 июня 2015

Будет ли задавать форму имя = значение и ссылаться на нее в массиве document.forms по имени?

т. Е. (Сокращенно)

<form name="form1">.insert.your.elements.here.with.name.attribute.set.</form>

и в JS:

document.forms["form1"]["form_item_name"].value;

Я любитель звания, так что если это не так, пожалуйста, оставьте мне конструктивную критику ...: -)

1 голос
/ 11 мая 2010

(document.forms все еще поддерживается. Вы можете сохранить его.)

Лучший способ присвоить полю id и использовать document.getElementById.

<input type="text" name="fooName" id="fooId" />
...
document.getElementById("fooId").value;

Если вы не можете добавить id, вы все равно можете использовать document.getElementsByName, но он вернет массив вместо одного элемента, потому что многие могут иметь одно и то же имя.

document.getElementsByName("fooName")[0].value;
1 голос
/ 11 мая 2010

Рекомендуется присваивать каждому элементу уникальный идентификатор и использовать этот идентификатор с функцией getElementById :

var value = document.getElementById('idofelement').value;
...