JavaScript:即使用户输入不正确,也会显示两个对话框

JavaScript:即使用户输入不正确,也会显示两个对话框,javascript,Javascript,这是一个简单的JavaScript/HTML猜测游戏。我唯一的问题是,当用户输入除1-6以外的数字/字母时,会弹出“错误”消息 — 确实如此,但游戏继续进行,它仍然会告诉你你是否是赢家。这是我的密码 function jsFunc() { var number = Math.ceil (Math.random() * 6) + 1; var guessNum = 0; guessNum = document.getElementById("num").value;

这是一个简单的JavaScript/HTML猜测游戏。我唯一的问题是,当用户输入除1-6以外的数字/字母时,会弹出“错误”消息 — 确实如此,但游戏继续进行,它仍然会告诉你你是否是赢家。这是我的密码

function jsFunc() {
    var number = Math.ceil (Math.random() * 6) + 1;
    var guessNum = 0;
    guessNum = document.getElementById("num").value;

    if (isNaN(guessNum) || guessNum < 1 || guessNum > 6) {
        alert ("Must be a number between 1 and 6. Please re-enter!");
    }

    if (number == guessNum)
        alert("Congratulations, You Win!!!");
    else
        alert("Aw, You Lose..");
}
函数jsFunc(){ var number=Math.ceil(Math.random()*6)+1; var-guessNum=0; guessNum=document.getElementById(“num”).value; 如果(isNaN(guessNum)| | guessNum<1 | | guessNum>6){ 警报(“必须是介于1和6之间的数字。请重新输入!”); } if(number==guessNum) 警惕(“祝贺你,你赢了!!!”; 其他的 警惕(“啊,你输了……”); }
如果出现以下情况,您应该执行其他操作

function jsFunc() {
var number = Math.ceil (Math.random() * 6) + 1;
var guessNum = 0;

    guessNum = document.getElementById("num").value;

if (isNaN(guessNum) || guessNum < 1 || guessNum > 6) {
    alert ("Must be a number between 1 and 6. Please re-enter!");
}
else if (number == guessNum)
    alert("Congratulations, You Win!!!");
else
    alert("Aw, You Lose..");
}
函数jsFunc(){ var number=Math.ceil(Math.random()*6)+1; var-guessNum=0; guessNum=document.getElementById(“num”).value; 如果(isNaN(guessNum)| | guessNum<1 | | guessNum>6){ 警报(“必须是介于1和6之间的数字。请重新输入!”); } else if(number==guessNum) 警惕(“祝贺你,你赢了!!!”; 其他的 警惕(“啊,你输了……”); }
if(isNaN(guessNum)| | guessNum<1 | | guessNum>6){
警报(“必须是介于1和6之间的数字。请重新输入!”);
}
else if(number==guessNum)
{
警惕(“祝贺你,你赢了!!!”;
}
其他的
{
警惕(“啊,你输了……”);
}

if/else逻辑需要是一个连续的块。因为在您的原始代码中,您的第二个IF无论发生什么都会得到评估

您只需添加if-else即可

请参考代码片段

函数jsFunc(){ var number=Math.ceil(Math.random()*6)+1; var-guessNum=0; guessNum=document.getElementById(“num”).value; 如果(isNaN(guessNum)| | guessNum<1 | | guessNum>6){ 警报(“必须是介于1和6之间的数字。请重新输入!”); }else if(number==guessNum){ 警惕(“祝贺你,你赢了!!!”; } 否则{ 警惕(“啊,你输了……”); } }
提交
您是否尝试在警报后使用
返回
返回?非常感谢!感谢您的回复。如果这对您有帮助,请标记为正确答案!谢谢你,迪拉杰!
  if (isNaN(guessNum) || guessNum < 1 || guessNum > 6) {
                alert ("Must be a number between 1 and 6. Please re-enter!");
             }

            else if (number == guessNum)
              {
                alert("Congratulations, You Win!!!");
              }
            else
             {
                alert("Aw, You Lose..");
             }