【问题标题】:Restarting a prompt重新启动提示
【发布时间】:2016-02-17 01:45:18
【问题描述】:

目前正在学习如何使用提示。当用户在我的提示中输入一个错误值时,它会终止脚本并显示一个空白页面。而不是空白,我想编程重新启动提示,让用户再次尝试而无需刷新页面。有什么建议吗?

短版代码:

var subjectGender="";  
var genderOK=true;  
var originalGendertag="male";  
var newGendertag="female";


subjectName=prompt("What is the subject's name?",subjectName);
subjectGender=prompt("Is "+subjectName+" male(M) or female(F)?","M or F");
if ((subjectGender!="M")&&(subjectGender!="F")){  
    alert("Must enter M or F");
    genderOK=false;
    originalGendertag="female";
    newGendertag="male";
}
if (genderOK==true){
    document.write(subjectName+" is "+originalGendertag+".")
}   

【问题讨论】:

  • 将提示放入函数中,再次调用该函数,再次显示提示。 Learn more about functions。或者使用循环。
  • 我早些时候尝试过,但无法让它工作,但我可能做错了什么。我会继续尝试,看看我是否可以让它工作
  • 请发布您的代码和您尝试过的内容
  • 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误在问题本身中重现它所需的最短代码。没有明确的问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example. 添加您的代码,否则此问题将被关闭。
  • 功能搞定!谢谢!

标签: javascript prompt


【解决方案1】:

如果用户没有输入您期望的值,只需进行递归函数调用。

// Call the function
showPrompt();

function showPrompt() {
  var age = prompt("Please enter your age: ");
  // The prompt will be shown until the user hits 24 in this case
  if (+age !== 24) {
    showPrompt();
  } else {
    console.log('Close my prompt !!');
  }
}

Example

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-07
    • 2011-12-11
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2010-10-12
    • 2021-06-07
    相关资源
    最近更新 更多