Javascript 将数字验证为正数
我已经确认一个数字为正数,但它没有给出正确的答案,即它也接受负数。我哪里出错了Javascript 将数字验证为正数,javascript,Javascript,我已经确认一个数字为正数,但它没有给出正确的答案,即它也接受负数。我哪里出错了 <script type="javascript"> function validatenumber(){ var class1=document.getElementById("class"); if((parseInt)class1.value<0){ alert("Please enter positive integer");
<script type="javascript">
function validatenumber(){
var class1=document.getElementById("class");
if((parseInt)class1.value<0){
alert("Please enter positive integer");
return false;
}
}
</script>
<form name="addbook" action="addbook.php" method="get" onsubmit="validatenumber();">
Code:<br/><input type="text" name="code"><br/>
Class:<br/><input type="number" name="class"><br/>
title:<br/><input type="text" name="title"><br/>
price:<br/><input type="number" name="price"><br/>
quantity:<br/><input type="number" name="quantity"><br/>
category:<br/><input type="text" name="category"><br/>
<input type="submit" value="submit"><br/>
</form>
函数validateEnumber(){
var class1=document.getElementById(“类”);
如果((parseInt)class1.value这个:
而不是:
var class1=document.getElementById("class");
及
您有type=“javascript”
,它应该是language=“javascript”
这是:
(parseInt)class1.value<0
而不是:
var class1=document.getElementById("class");
及
您有type=“javascript”
,它应该是language=“javascript”
validatenumber()是如何调用的?你确定document.getElementById(“class”)
得到了正确的项吗?为什么评论中还没有人注意到明显的语法错误?不是(parseInt)class1.value
,而是parseInt(class1.value)
如果有的话。更好的是,parseInt(class1.value,10)
或简单地Number(class1.value)
。有关解决方案,请参见Kevin的答案。仍然接受负数validatenumber()如何被调用?您确定document.getElementById(“类”)
是否得到了正确的项?为什么评论中没有人注意到明显的语法错误?不是(parseInt)class1.value
,而是parseInt(class1.value)
如果有的话。更好的是,parseInt(class1.value,10)
或者干脆是Number(class1.value)
。有关解决方案,请参见Kevin的答案。仍然接受负数不要忘记基数!parseInt(class1.value,10)
仍然是相同的答案忘记了需要更新javascript标记。我还附加了一个JSFIDDLE,我不知道它没有在我的计算机中执行的确切原因。我想这就是原因:我的页面url已经是adminhome.php?action=addbook,所以在提交表单后,它会更改为addbook.php。那么如何克服这个问题呢?如果我理解co正确地以如下形式执行操作:action=“addbook.php?action=addbook”不要忘记基数!parseInt(class1.value,10)
仍然是相同的答案忘记了需要更新javascript标记。我还附加了一个JSFIDDLE,我不知道它没有在我的计算机中执行的确切原因。我想这就是原因:我的页面url已经是adminhome.php?action=addbook,所以在提交表单后,它会更改为addbook.php。那么如何克服这个问题呢?如果我理解co正确地以以下形式执行操作:action=“addbook.php?action=addbook”
var class1=document.getElementsByName("class")[0];
var class1=document.getElementById("class");