如何使用alert和prompt创建while循环以避免空输入?

时间:2016-06-08 16:50:42

标签: javascript loops while-loop

我想创建一个while循环以避免空输入。这是我的代码,我希望它循环,以便用户获得相同的警报,然后提示窗口,直到他/她写一个名称/用户名。关于我做错了什么以及如何解决它的任何想法?

<script type="text/javascript">
confirm("Wanna play?");
var name = prompt("What's your name?");
while (name.length == 0) {
    alert("Please enter your name!");
    prompt("What's your name?");
}
else {
    document.write("Welcome to my game " + name + "!" + "<br>");
}
</script>

3 个答案:

答案 0 :(得分:4)

@Renan建议说得对。不过,如果你需要当前的代码,你可以试试这个:

<script type="text/javascript">
confirm("Wanna play?");
var name = prompt("What's your name?");
while (name.length == 0) {
    alert("Please enter your name!");
    name = prompt("What's your name?");
}
document.write("Welcome to my game " + name + "!" + "<br>");
</script>

您的代码/逻辑中存在一些错误:

  1. 为什么在else之后有whileelse仅与if子句一起使用。
  2. 您要求while循环中的名称,但不会将其分配给name变量。如果您未分配到namename变量将如何更新并导致while循环退出?

答案 1 :(得分:3)

绝不滥用您网页中的promptalertconfirm

我可以写很多关于此的内容,但我会在此留下这个图片。

用户可以轻松地通过对话框静音您的注意力,因此您花费的额外努力就会被浪费。

答案 2 :(得分:0)

看看这是否满足您的需求!

confirm("Wanna play?");
var name = prompt("What's your name?");
while (name.length == 0) {
    name = prompt("Please, insert a name to proceed!");
}
document.write("Welcome to my game " + name + "!" + "<br>");