Considérons cette fonction :
function validate()
{
var acc = document.getElementsByName('acc').value;
var pass = document.getElementsByName('pass').value;
alert (acc);
}
Et cette partie 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>
La boîte d'alerte s'affiche, mais elle indique "undefined".
0 votes
Si vous pouvez le modifier entièrement, je vous recommanderais d'ajouter un champ "id" à vos deux champs de saisie, et d'utiliser la méthode suivante
document.getElementById
qui renvoie exactement une valeur.4 votes
Encore mieux :
var inputs = document.getElementsByTagName('input')
retourne une liste de nœuds, à partir de laquelle vous pouvez extraire les deux éléments comme suit : var pass = inputs.item('pass'). Juste un conseil, cela peut accélérer les choses si vous avez affaire à un DOM important, cargetElementById
va chercher l'arbre entier à chaque fois, alors qu'une liste de noeuds ne le fera pas, donc c'est plus rapide...0 votes
Petit code mignon en effet XD