我想从'email'类型的输入字段中获取输入值,但我得到了NaN。value.password
正在工作,我可以得到password
字段的值,但document.getElementById('em-id').value
给了我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)
}
}
这个逗号和加号创建了问题。Javascript试图将电子邮件转换为数字类型转换,原因是电子邮件前面有加号。您应该使用逗号记录2个值,或者使用+不使用逗号记录单个字符串。
,+
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)
}
}
em id用于类型为Email..的输入字段。Value期望它是一个数值字段。您可以删除值,代码应该可以工作。
此处的问题是逗号console.log('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)
}
}