Considérez 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 montre "indéfini".
document.getElementsByName
renvoie une liste de nœuds d'éléments de sorte qu'il n'a pas de propriété .value
. D'où l'erreur non définie que vous voyez.
Ce que vous voulez, c'est document.getElementsByName("acc")[0].value
Notez le pluriel dans cette méthode:
document.getElementsByName()
Cela renvoie un ensemble d'éléments, alors utilisez [0] pour obtenir la première occurrence, par exemple
document.getElementsByName()[0]
Tu veux ça:
function validate() { var acc = document.getElementsByName('acc')[0].value; var pass = document.getElementsByName('pass')[0].value; alert (acc); }
document.getElementsByName("myInput")[0].value;
Method document.getElementsByName renvoie un ensemble d'éléments. Vous devez d'abord sélectionner, par exemple.
document.getElementsByName('acc')[0].value