当用户输入无效时,如何包含javascript错误消息
当我输入值时,我能够成功地给出年龄的输出,但是我需要对输入进行验证,以指示错误并将警告消息粘贴到浏览器。我正在为此使用if语句,但它不起作用当用户输入无效时,如何包含javascript错误消息,javascript,Javascript,当我输入值时,我能够成功地给出年龄的输出,但是我需要对输入进行验证,以指示错误并将警告消息粘贴到浏览器。我正在为此使用if语句,但它不起作用 <!DOCTYPE html> <html> <body> <form> Birth Year: <br> <input type="text"
<!DOCTYPE html>
<html>
<body>
<form>
Birth Year:
<br>
<input type="text" name="birthYear">
<br>
Current Year:
<br>
<input type="text" name="currentYear">
</form>
<button onclick="calculateAge()">Calculate Age</button>
<div id="output"></div>
<script>
function calculateAge() {
var ghF = document.querySelector('[name="birthYear"]').value;
var xhF = document.querySelector('[name="currentYear"]').value;
document.getElementById("output").innerHTML = "You are either "+(xhF - ghF)+" or "+(xhF - ghF + 1)
if (ghF) || (xhF) !== "number" {
confirm("Invalid, please try again")
}
};
</script>
出生年份:
本年度:
计算年龄
函数calculateAge(){
var ghF=document.querySelector('[name=“birthYear”]')。值;
var xhF=document.querySelector('[name=“currentYear”]')。值;
document.getElementById(“output”).innerHTML=“您是“+(xhF-ghF)+”或“+(xhF-ghF+1”)
如果(ghF)|(xhF)!=“数字”{
确认(“无效,请重试”)
}
};
您可以使用该方法将用户输入解析为一个数字:
var ghF = parseInt(document.querySelector('[name="birthYear"]').value, 10);
var xhF = parseInt(document.querySelector('[name="currentYear"]').value, 10);
然后检查NaN:
if (isNaN(ghF) || isNaN(xhF)) {
// One of the two user inputs couldn't be parsed to a number
alert('Invalid, please try again');
}
并在实际使用这些值之前进行此检查,例如,将其放在您的条件的else
部分:
document.getElementById("output").innerHTML = "You are either " + (xhF - ghF) + " or " + (xhF - ghF + 1);
在控制台中查看语法错误。
if
后面的条件必须用括号括起来。