【问题标题】:JavaScript prompt if/else responseJavaScript 提示 if/else 响应
【发布时间】:2017-05-22 12:33:33
【问题描述】:

点击对象时,出现提示,但提交答案时没有任何反应。密码命名有问题吗?非常感谢任何建议!

var password;
var pass1 = "thailand";
password = function password() {
  prompt('What was the first country we visited together?');
};
if (password == pass1) {
  //Change the page here
  console.log("Correct");
} else {
  console.log('sorry, try again!')
};
<div class='one'>
  <p onclick="password()">Click me!</p>

【问题讨论】:

  • 在 JS 文件中检查密码是个坏主意。
  • 那是因为你的if语句是在你的密码函数被调用之前执行的,而不是再次被调用
  • 你需要在functon password() { }中做所有的事情
  • “你不能这样设置内联函数”为什么不呢?
  • @evolutionxbox 我已经纠正了,你可以的 :)

标签: javascript if-statement prompt


【解决方案1】:

您需要存储在提示中输入的内容。此外,您在显示提示之前在函数之外进行了比较。

我更新了代码,但你可能需要做一些调整:

<div class='one'><p onclick="password()">Click me!</p>

<script language="JavaScript">
var pass1="thailand";
function password() {
  var pass = prompt('What was the first country we visited together?');
  if (pass == pass1)
  {
    window.location="meesha.html";
  } else { 
    console.log('sorry, try again!')
  }
}
</script>
</div>

希望对你有帮助

【讨论】:

  • 谢谢,这成功了!除了如果你回答除了正确答案之外什么都没有弹出,有什么想法吗?
  • @SafiaKarasickSouthey 可以预期,如果这不是浏览器控制台中显示的正确答案,您会执行 console.log。您可以(粗略地)使用 alert('Sorry, try again') 显示错误消息。
【解决方案2】:

您不需要function password()。删除了那个。 并且还添加了window.location.href 而不是window.location

 <div class='one'><p onclick="password()">Click me!</p>

<script language="JavaScript">
var password;
var pass1="thailand";
password = prompt('What was the first country we visited together?');
  
if (password == pass1){ 
  window.location.href = 'meesha.html';
} else { 
  console.log('sorry, try again!')
};
</script>
</div>

【讨论】:

  • @evolutionxbox:我建议你尝试运行它,然后重新评估你的陈述。
  • @evolutionxbox:实际上,问题在于单击按钮时这将不起作用。它将在页面加载期间运行,这不是 OP 试图做的事情
猜你喜欢
  • 2012-10-09
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
  • 1970-01-01
  • 1970-01-01
  • 2011-02-24
  • 2020-08-20
相关资源
最近更新 更多