即使在我使用Javascript单击“确定”之后,错误密码的警报仍会持续显示。如何停止此警报消息的连续显示
我一直在尝试验证模式窗口中的密码文本。当我输入错误的密码时,警报将持续显示“登录不正确”消息。似乎我正在使用的while循环仍在继续。如何使警报消息仅显示一次。但是模态窗口应该继续显示即使在我使用Javascript单击“确定”之后,错误密码的警报仍会持续显示。如何停止此警报消息的连续显示,javascript,html,css,Javascript,Html,Css,我一直在尝试验证模式窗口中的密码文本。当我输入错误的密码时,警报将持续显示“登录不正确”消息。似乎我正在使用的while循环仍在继续。如何使警报消息仅显示一次。但是模态窗口应该继续显示 var modal=document.getElementById('loginModal'); //获取打开模式对话框的按钮 var btn=document.getElementById(“loginBtn”); //获取关闭模态的元素 var span=document.getElementsByClass
var modal=document.getElementById('loginModal');
//获取打开模式对话框的按钮
var btn=document.getElementById(“loginBtn”);
//获取关闭模态的元素
var span=document.getElementsByClassName(“关闭”)[0];
//当用户单击该按钮时,打开模式对话框
btn.onclick=函数(){
modal.style.display=“块”;
}
//当用户单击(x)时,关闭模式对话框
span.onclick=函数(){
modal.style.display=“无”;
}
函数提示密码()
{
while(document.getElementById(“pwdText”).value!='P@ssw0rd'){
警报(“登录不正确”);
document.getElementById('pwdText')。value=“”;
}
警报(“密码正确,允许您进入网站”);
}
.modal{
显示:无;/*默认情况下不显示模式*/
位置:固定;/*保持原位*/
z指数:1;/*位于顶部*/
填充顶部:100px;/*模式框的位置*/
左:0;
排名:0;
宽度:100%;/*全宽*/
高度:100%;/*全高*/
}
/*模态内容*/
.模态内容{
背景色:#fefe;
保证金:自动;
填充:20px;
边框:1px实心#888;
宽度:25%;
身高:25%;
}
/*文本框标签的显示*/
标签{
显示:内联块;
浮动:左;
清除:左;
宽度:250px;
文本对齐:左对齐;
}
标签{
显示:内联块;
浮动:左;
}
/*显示文本和密码框*/
输入[类型=文本]{
宽度:250px;
}
输入[类型=密码]{
宽度:250px;
}
/*关闭按钮*/
.结束{
浮动:对;
利润:-15px-15px 0;
字号:28px;
字体大小:粗体;
}
.关闭:悬停,
.结束:聚焦{
文字装饰:无;
光标:指针;
}
登录
×
用户名
密码
提交
使用if代替while
使用if而不是while您正在使用while循环,该循环将不断重复,直到不再满足条件为止 您需要的是一个if语句
function promptPassword( ) {
if(document.getElementById("pwdText").value != 'P@ssw0rd'){
alert("Login is incorrect");
document.getElementById('pwdText').value = "";
}
}
您正在使用while循环,该循环将不断重复,直到不再满足条件为止 您需要的是一个if语句
function promptPassword( ) {
if(document.getElementById("pwdText").value != 'P@ssw0rd'){
alert("Login is incorrect");
document.getElementById('pwdText').value = "";
}
}
首先,你需要更换
<button onclick="promptPassword()">Submit</button>
首先,你需要更换
<button onclick="promptPassword()">Submit</button>
和
else
以显示警报(“密码正确,
我尝试过。但是,一旦单击“确定”警报,模式窗口将消失。我想保留模式窗口Modal.style.display=“block”;
将此添加到promptPassword()方法的if条件中,else
以显示警报(“密码正确,
我试过了。但一旦单击“确定”警报,模式窗口将消失。我想保留模式窗口Modal.style.display=“block”
将其添加到提示密码()方法的条件。但一旦单击“确定”警报,模式窗口将消失。我想保留模式窗口浏览器将不允许您在那里保持模式并处于活动状态。此外,当模式显示时,用户无法与网站交互。您是否考虑过添加标签,而不是说“密码不正确”而不是模式?因为这是最常见的验证方法。感谢您的帮助。似乎毕竟有办法,正如Chetan Panchal提到的abiveI stand更正。很高兴看到有解决方案。:)我尝试过。但一旦单击“确定”警报,模式窗口将消失。我想保留模式窗口浏览器将不允许您在那里保持模式并处于活动状态。此外,当模式显示时,用户无法与网站交互。您是否考虑过添加标签,改为说“密码不正确”而不是模式?因为这是最常见的验证方法。感谢您的帮助。似乎毕竟有办法,正如Chetan Panchal提到的abiveI stand更正。很高兴看到有解决方案。:)我试过了。但一旦单击“确定”警报,模式窗口将消失。我想保留模式窗口。当您的登录错误时,您需要为窗口显示块建模。我尝试了。但一旦单击“确定”警报,模式窗口将消失。我想保留模式窗口,因此当您的登录错误时,您需要对窗口显示块进行建模。
function promptPassword( )
{
var pwd = document.getElementById("pwdText").value;
if(pwd != 'P@ssw0rd'){
alert("Login is incorrect");
document.getElementById('pwdText').value = "";
return false;
}
else{
alert("Password is correct, you are allowed to enter the site");
// Enter Site Code Here
}
}
function promptPassword( ) {
if(document.getElementById("pwdText").value != 'P@ssw0rd'){
alert("Login is incorrect");
document.getElementById('pwdText').value = "";
return false;
}
}