Ответ 1
document.getElementsByName
возвращает NodeList элементов, поэтому он не имеет свойства .value
. следовательно, ошибка undefined, которую вы видите.
Вы хотите document.getElementsByName("acc")[0].value
Рассмотрим эту функцию:
function validate()
{
var acc = document.getElementsByName('acc').value;
var pass = document.getElementsByName('pass').value;
alert (acc);
}
И эта часть HTML:
<table border="0" cellpadding="2" cellspacing="0" valign="top">
<tr>
<td class="td1">Account</td>
<td class="td2"><input type="text" name="acc" /></td>
</tr>
<tr class="td1">
<td>Password</td>
<td class="td2"><input type="password" name="pass" /></td>
</tr>
</table>
<div><button onClick="validate()" class="cupid-greenx">Login now</button></div>
Появляется окно предупреждения, но оно показывает "undefined".
document.getElementsByName
возвращает NodeList элементов, поэтому он не имеет свойства .value
. следовательно, ошибка undefined, которую вы видите.
Вы хотите document.getElementsByName("acc")[0].value
Обратите внимание на множественное число в этом методе:
document.getElementsByName()
Это возвращает массив элементов, поэтому используйте [0], чтобы получить первое вхождение, например.
document.getElementsByName()[0]
Вы хотите:
function validate() {
var acc = document.getElementsByName('acc')[0].value;
var pass = document.getElementsByName('pass')[0].value;
alert (acc);
}
document.getElementsByName("myInput")[0].value;
Метод document.getElementsByName возвращает массив элементов. Вы должны выбрать сначала, например.
document.getElementsByName('acc')[0].value