Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中不会触发警报_Javascript - Fatal编程技术网

javascript中不会触发警报

javascript中不会触发警报,javascript,Javascript,我试图做一个基本的密码匹配按钮点击。下面是输入、按钮和脚本。我要做的就是点击按钮,检查密码是否=test123。如果是,则显示警报,然后隐藏div 当我点击按钮时,什么也没发生。我知道脚本正在执行。如果我更改警报(document.getElementById('passbox1').value)至警报(“启动”)我看到了警报 <div id="passdiv"> <input name="passbox1" type="password" /> &

我试图做一个基本的密码匹配按钮点击。下面是输入、按钮和脚本。我要做的就是点击按钮,检查密码是否=
test123
。如果是,则显示警报,然后隐藏
div

当我点击按钮时,什么也没发生。我知道脚本正在执行。如果我更改
警报(document.getElementById('passbox1').value)
警报(“启动”)我看到了警报

<div id="passdiv">
        <input name="passbox1" type="password" /> &nbsp;&nbsp;<input name="submit" onclick="showDiv()" type="button" value="Submit" /></div>

<div id="list">testing</div>

<script>
function showDiv() { 
    alert(document.getElementById('passbox1').value);
    if( document.getElementById('passbox1').value == "test123") {
        alert("match");
        document.getElementById('passdiv').hidden = true;
        document.getElementById('list').hidden = false;
    } else {
         alert("Password is incorrect.");
    }

}
</script>

测试
函数showDiv(){
警报(document.getElementById('passbox1').value);
if(document.getElementById('passbox1')。value==“test123”){
警报(“匹配”);
document.getElementById('passdiv').hidden=true;
document.getElementById('list')。hidden=false;
}否则{
警报(“密码不正确”);
}
}

假设您已经在HTML中定义了
passbox1
div,请尝试下面的代码段,此外,您应该在实际调用函数showDiv()之前声明它


函数showDiv(){
警报(document.getElementById('passbox1').value);
if(document.getElementById('passbox1')。value==“test123”){
警报(“匹配”);
document.getElementById('passdiv').style.visibility=“hidden”;
document.getElementById('list').style.visibility=“visible”;
}否则{
警报(“密码不正确”);
}
}

测试
您有几个问题,请参阅fiddle:

无法获取没有值的div的值:)

要修复此问题,请添加一个带值的输入字段,或者像这样使用innerHTML:
alert(document.getElementById('list').innerHTML)


测试
函数showDiv(){
警报(document.getElementById('list').innerHTML);
//innerHTML将在列表中获取文本
//另外,在您的示例中,getElementById()没有以ID为目标
if(document.getElementById('list')。value==“test123”){
警报(“匹配”);
document.getElementById('passdiv').hidden=true;
document.getElementById('list')。hidden=false;
}否则{
警报(“密码不正确”);
}
}

如果此代码有效,请尝试my运行此代码:


检查
测试
帕斯迪夫
函数showDiv(){
警报(document.getElementById('passbox1').value);
if(document.getElementById('passbox1')。value==“test123”){
警报(“匹配”);
document.getElementById('passdiv').style.display=“block”;
document.getElementById('list').style.display=“无”;
}否则{
警报(“密码不正确”);
}
}

按钮和输入框的代码在哪里?乍一看,DOM元素上没有隐藏的属性。您可能希望改用
document.getElementById(…).style.display='none'
。如果您的代码与您在此处发布的代码类似,它将抛出错误,因为没有id为'passbox1'的元素,因此它无法读取的属性值null@codeNinja:你能把完整的HTML代码和你的JS一起发布吗?“如果我更改了警报(document.getElementById('passbox1').value);要发出警报(“启动”);我看到了警报。“-这意味着您从
document.getElementById('passbox1')收到错误.value
,最有可能的错误是不存在具有该id的元素。快速浏览您的个人资料表明您已经用JavaScript编程至少2年了。虽然这应该在第一天发生,但现在是停止使用alert进行调试并学习如何使用JS控制台的时候了:@downVorters:您的评论我们的帮助。没有否决,但似乎是“我们不喜欢这个问题”所以“我们不喜欢你回答”。在技术层面上,
hidden
仍然不作为DOM元素的属性存在,因此它不会正确隐藏/显示。@arcyqwerty:当然,我不知道不完整的问题不应该被回答,我只是假设他有正确的HTML,因此我的答案基于这个前提。如果是这样的话,我很乐意删除我的答案。我想我不认为回答低质量的问题有什么问题。我也不认为不回答这样的问题有什么问题。但是,我认为,根据现有信息对不好的问题的有效答案进行否决是不公平的。否决这个问题是一回事,因为这是低质量的,惩罚回答者是另一回事回答问题。这只是我的2c,但有些人显然不同意。如果meta.stackoverflow.com中还没有回答,那么这个讨论在那里更合适。@arcyqwerty:我同意,我也更改了我的代码。我之前没有意识到隐藏不作为DOM元素的属性存在,我使用了style.visibility属性在我对隐藏和显示div的回答中,感谢您指出这一点。
<body onload="showDiv()">
<div id="list">testing</div>
</body>
<script>
function showDiv() { 
    alert(document.getElementById('list').innerHTML);
    //innerHTML will get text inside list
    //Also .getElementById() was not targeting an ID in your example
    if( document.getElementById('list').value == "test123") {
        alert("match");
        document.getElementById('passdiv').hidden = true;
        document.getElementById('list').hidden = false;
    } else {
         alert("Password is incorrect.");
    }

}
</script>