function getNum() {
num = $('.slicesinput').val();
num2 = $('.numinput').val();
if (num === "" || num2 === "") {
alert('Your inputs may not be empty, else the diagram won\'t work proper...');
} else {
if (num > num2) {
alert('Whoops, ' + num + ' is a higher number than ' + num2 + ', please fix this and try again');
} else if (num === num2) {
alert('Woops, ' + num + ' and ' + num2 + ' is the same number...');
} else {
progressBarUpdate(num, num2);
}
}
}
HTML
<p>Number of slices you want</p>
<input name="slices" class="slicesinput" type="text"/>
<p>Out of max slices</p>
<input name="num" class="numinput" type="text"/>
<p>Ex. 3 + 6</p>
<input type="submit" onclick="getNum()"/>
当我在第一个提交ex 4时,在第二个提交16个时,它会弹出警报 &#34; Woops,4是一个比16更高的数字,请修复此问题再试一次&#34;,但如果我选择4和6它可以正常工作..?实际问题是什么?我该如何解决这个问题?
答案 0 :(得分:3)
尝试将您的号码放入#39; Number()函数中的变量,因为它们可能被比较为字符串而不是数字。而你也可以改变输入&#39;输入数字。
答案 1 :(得分:2)
当您获得文本框的值时,
num = $('.slicesinput').val();
您获得的是字符串值而不是数字。所以你比较的实际上是2个字符串,而不是数字。您需要将String解析为数字以使其正常工作
num = Number($('.slicesinput').val());