【发布时间】:2019-09-13 07:07:19
【问题描述】:
我需要验证三个不同提示的用户输出,并认为这可行,但事实并非如此。
第一个提示需要验证澳大利亚的 8 个州和地区中的任何一个。
第二个提示需要验证用户输入了一个整数。
第三个提示需要验证用户输入了一个负数或正数,可以是整数也可以是小数。
然后整个事情需要再次循环,以便再次询问三个提示。所以它可以建一个表。
function ask() {
var stInput = '';
var populationInput = '';
var changeInput = '';
var entering = confirm('Confirm to add state or territory');
if (!entering) {
return;
} else {
while (true) {
stInput = prompt('Enter state or territory');
function validateUserChoice(stInput) {
if (stInput !== "Queensland" && stInput !== "New South Wales" && stInput !== "Victoria" && stInput !== "Tasmania" && stInput !== "Northern Territory" && stInput !== "Western Australia" && stInput !== "South Australia" && stInput !== "Australian Capital Territory") {
} else {
return false;
}
}
populationInput = prompt('Enter population for ' + stInput + '');
while(!isValid(populationInput)) {
alert('Your input was invalid');
populationInput = parseInt(prompt('Enter population for ' + stInput + ''));
}
changeInput = prompt('Enter growth rate for ' + populationInput + '');
while(!isValid(changeInput)) {
alert('Your input was invalid');
changeInput = parseFloat(prompt('Enter growth rate for ' + populationInput + ''));
}
break;
}
alert("invalid state or territory");
}
【问题讨论】:
-
使用
while循环几乎不是一个好主意。如果您想在有人单击按钮时运行代码,您应该查看事件侦听器和触发事件。当有人单击提交按钮时,您应该运行一个验证您的表单的函数。而不是运行while (true)循环来获取任何更改。 -
是的,@DavidKlinge 说的。 Use this
-
是的,感谢您的反馈@DavidKlinge。但这与家庭作业有关,它需要我们到目前为止所学的知识,而我们还没有学习事件监听器。所以我必须使用while循环。
-
@ArkinSolomon ^
标签: javascript loops validation while-loop