Javascript If语句参数中缺少某些内容
为什么这段代码不执行if()语句中的语句 页面有两个输入字段和一个按钮。代码是:Javascript If语句参数中缺少某些内容,javascript,Javascript,为什么这段代码不执行if()语句中的语句 页面有两个输入字段和一个按钮。代码是: var n = document.getElementById("user").value; var p = document.getElementById("password").value; document.getElementById("button").onclick=function(){ if(n=='abc' && p=='abc') alert
var n = document.getElementById("user").value;
var p = document.getElementById("password").value;
document.getElementById("button").onclick=function(){
if(n=='abc' && p=='abc') alert('Welcome '+n);
else
alert('Enter the correct credentials');
};
即使我输入值abc和abc,else之后始终显示警报。在脚本执行时,
\user
和\password
输入为空,因此n
和p
变量也为空。
当您执行var n=document.getElementById(“用户”).value时
,将#用户
输入值复制到变量中:这不是引用。我的意思是,如果输入#user
值发生变化,var n
不会发生变化
因此,您只需在触发click事件时获取输入值:
document.getElementById("button").onclick=function(){
var n = document.getElementById("user").value;
var p = document.getElementById("password").value;
if(n=='abc' && p=='abc') alert('Welcome '+n);
else
alert('Enter the correct credentials');
};
在执行脚本时,
#user
和#password
输入为空,因此n
和p
变量也为空。
当您执行var n=document.getElementById(“用户”).value时
,将#用户
输入值复制到变量中:这不是引用。我的意思是,如果输入#user
值发生变化,var n
不会发生变化
因此,您只需在触发click事件时获取输入值:
document.getElementById("button").onclick=function(){
var n = document.getElementById("user").value;
var p = document.getElementById("password").value;
if(n=='abc' && p=='abc') alert('Welcome '+n);
else
alert('Enter the correct credentials');
};
问题是,当为变量赋值时,文本框值为空。因此,当与“abc”进行比较时,它们返回false
var button1 = document.getElementById('button');
button1.onclick = function() {
var n = document.getElementById("user").value;
var p = document.getElementById("password").value;
if(n=='abc' && p=='abc') alert('Welcome '+n);
else
alert('Enter the correct credentials');
}
此代码在单击按钮后检查文本字段的值,因此可以按预期工作。请参阅此处的fiddle问题是,当为变量赋值时,文本框值为空。因此,当与“abc”进行比较时,它们返回false
var button1 = document.getElementById('button');
button1.onclick = function() {
var n = document.getElementById("user").value;
var p = document.getElementById("password").value;
if(n=='abc' && p=='abc') alert('Welcome '+n);
else
alert('Enter the correct credentials');
}
此代码在单击按钮后检查文本字段的值,因此可以按预期工作。请参阅此处的fiddle是否也可以添加HTML代码?将调试器放在onclick函数中,并在控制台中查看它您需要在单击时检索值,加载页面时不需要。是否也可以添加HTML代码?将调试器放在onclick函数中,并在控制台中查看调试器您需要在单击时检索值,而不是在加载页面时检索值。不准确。处理程序确实知道它们,但它们的值总是相同的。不准确。处理程序确实知道它们,但它们的值始终相同。如果这解决了您的问题,您介意接受这一正确答案吗?如果这解决了您的问题,您介意接受这一正确答案吗。