Javascript If/Else和问题类型
问题是,我不知道为什么这个代码不起作用。我到处找Javascript If/Else和问题类型,javascript,html,if-statement,input,typeof,Javascript,Html,If Statement,Input,Typeof,问题是,我不知道为什么这个代码不起作用。我到处找 此代码的作用是从数字框中获取信息,然后如果用户输入文本(错误),则显示消息,如果用户输入数字,则显示成功消息。 HTML-> 所有元素的值将始终是一个字符串;JS不会试图智取你,猜测它是否是一个数字(那将是灾难性的!)。首先尝试解析它,如下所示: function makeTrack() { var e = parseInt(document.getElementById("number").value, 10); if(!is
此代码的作用是从数字框中获取信息,然后如果用户输入文本(错误),则显示消息,如果用户输入数字,则显示成功消息。
HTML-> 所有元素的
值
将始终是一个字符串;JS不会试图智取你,猜测它是否是一个数字(那将是灾难性的!)。首先尝试解析它,如下所示:
function makeTrack() {
var e = parseInt(document.getElementById("number").value, 10);
if(!isNaN(e)) {
alert("It works!");
} else {
alert("Please input a number!");
}
}
var e = document.getElementById("number").value;
if (/^[0-9]+$/.test(e)) {
// good
e = parseInt(e, 10); // make sure to still convert it to a number!
}
请注意,这将把输入的“12345这是一个字符串”
解释为12345
。如果不希望这样,请尝试以下方法:
function makeTrack() {
var e = parseInt(document.getElementById("number").value, 10);
if(!isNaN(e)) {
alert("It works!");
} else {
alert("Please input a number!");
}
}
var e = document.getElementById("number").value;
if (/^[0-9]+$/.test(e)) {
// good
e = parseInt(e, 10); // make sure to still convert it to a number!
}
所有元素的值
将始终是一个字符串;JS不会试图智取你,猜测它是否是一个数字(那将是灾难性的!)。首先尝试解析它,如下所示:
function makeTrack() {
var e = parseInt(document.getElementById("number").value, 10);
if(!isNaN(e)) {
alert("It works!");
} else {
alert("Please input a number!");
}
}
var e = document.getElementById("number").value;
if (/^[0-9]+$/.test(e)) {
// good
e = parseInt(e, 10); // make sure to still convert it to a number!
}
请注意,这将把输入的“12345这是一个字符串”
解释为12345
。如果不希望这样,请尝试以下方法:
function makeTrack() {
var e = parseInt(document.getElementById("number").value, 10);
if(!isNaN(e)) {
alert("It works!");
} else {
alert("Please input a number!");
}
}
var e = document.getElementById("number").value;
if (/^[0-9]+$/.test(e)) {
// good
e = parseInt(e, 10); // make sure to still convert it to a number!
}
从元素中获取的所有值都是字符串类型。您可能需要检查
是否为NaN
,并根据从元素中获取的所有值都是字符串类型。您可能想检查isNaN
是否正确,并采取相应的行动。虽然答案的第一部分是正确的,但仅仅检查isNaN
是不够的。有关javascript中数字测试的更多信息,请参见此处:它工作得非常好,问题在于:如果它不是数字,它不会发出警报()。顺便说一句,这仍然非常有用,谢谢。虽然你的答案的第一部分是正确的,但仅仅检查isNaN
是不够的。有关javascript中数字测试的更多信息,请参见此处:它工作得非常好,问题在于:如果它不是数字,它不会发出警报()。顺便说一下,这仍然很有用,谢谢。