Je veux obtenir la valeur d'entrée du champ de saisie de type 'email' mais j'obtiens NaN. Aidez-moi à résoudre ce problème. Mon extrait de code est ci-dessous value.password
fonctionne et je peux obtenir la valeur du champ password
, mais document.getElementById ('em-id'). value me donne
NaN
. <div class="email-div">
<i class="fas fa-user-shield"></i>
<input type="email" name="email" id="em-id" placeholder="Email" min="3" max="15"
spellcheck="false" required="true">
</div>
<div class="pass-div">
<i class="fas fa-lock"></i>
<input type="password" name="password" id="pass" placeholder="Password" min="8" max="32"
spellcheck="false" required="true">
</div>
<div class="btn-div">
<button class="btn" id="login-btn" v-on:click="login">LOGIN</button>
</div>
login: function() {
let email = document.getElementById('em-id').value
let password = document.getElementById('pass').value
if(email && password) {
console.log('email => ', + email) //gives output Nan
console.log('password => ' + password)
}
}
3 Réponses :
L'em-id est pour un champ de saisie qui a le type Email. .Value s'attend à ce que ce soit pour un champ numérique. Vous pouvez supprimer la valeur et le code devrait fonctionner.
Cette virgule et le signe plus ont créé le problème. Javascript a tenté de convertir l'e-mail en un typage de numéro en raison du plus avant l'e-mail. Soit vous devez utiliser une virgule pour enregistrer 2 valeurs, soit + sans virgule pour une seule chaîne.
, +
login: function() { let email = document.getElementById('em-id').value let password = document.getElementById('pass').value if(email && password) { console.log('email => '+ email) console.log('password => '+ password) } }
Le problème est une virgule ici console.log ('email =>', + email)
login: function() { let email = document.getElementById('em-id').value let password = document.getElementById('pass').value if(email && password) { console.log('email => ' + email) //gives output Nan console.log('password => ' + password) } }