Considere esta función:
function validate()
{
var acc = document.getElementsByName('acc').value;
var pass = document.getElementsByName('pass').value;
alert (acc);
}
Y esta parte 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>
Se muestra el cuadro de alerta, pero muestra "indefinido".
javascript
html
dom
Juliver Galleto
fuente
fuente
document.getElementById
, que devuelve exactamente un valor.var inputs = document.getElementsByTagName('input')
devuelve una lista de nodos, de la que puede extraer ambos elementos de la siguiente manera: var pass = inputs.item ('pass'). Solo un consejo, esto puede acelerar las cosas si se trata de un DOM grande, yagetElementById
que buscará en todo el árbol cada vez, mientras que una lista de nodos no lo hará, por lo que es más rápido ...