Javascript检查是否为正
Javascript函数:Javascript检查是否为正,javascript,function,Javascript,Function,Javascript函数: function checkPos1(){ var x = parseInt(document.getElementById('qty1').value); if (x < 0) { alert("Quantity field must contain a positive number!"); return false; } } 函数checkPos1(){ var x=parseInt(document.g
function checkPos1(){
var x = parseInt(document.getElementById('qty1').value);
if (x < 0)
{
alert("Quantity field must contain a positive number!");
return false;
}
}
函数checkPos1(){
var x=parseInt(document.getElementById('qty1').value);
if(x<0)
{
警报(“数量字段必须包含正数!”);
返回false;
}
}
表格编号:
<form action="cart.php" method="get">
<input type="button" onclick="buttonSubtract1()" name="subtract1" value="-
"/>
<input type="text" size="4" id="qty1" name="quantity1" value="0"/>
<input type="button" onclick="buttonAdd1()" name="add1" value="+"/>
<input type="submit" onclick="checkPos1()" name="product1" value="Add"/>
</form>
为什么这个函数不起作用?我试图确保客户手动输入的文本值是正整数,然后才允许提交 要检查值是否为数字或字母,可以使用JavaScript的内置功能
if(x.isNaN()) {
/* place the second code in this body */
}
你需要这个
if (x < 0) {
// if less than 0; negative;
alert("Quantity field must contain a positive number!");
return false;
} else {
// if greater than 1; positive;
alert("Value was positive");
return false;
}
if(x<0){
//如果小于0,则为负值;
警报(“数量字段必须包含正数!”);
返回false;
}否则{
//如果大于1,则为正值;
警报(“值为正值”);
返回false;
}
用户没有任何块来检测正整数,这就是它根本不显示任何内容的原因。我已经包括了一个声明,然后它会提醒用户,如果提供的数字是一个积极的
有关isNaN函数的详细信息,事件处理程序末尾的
返回false
是用于停止事件处理程序链的jquery约定。如果没有jquery,您应该调用事件的preventDefault
方法。
试试这个:
function checkPos1(){
var x = parseInt(document.getElementById('qty1').value);
if (x < 0)
{
alert("Quantity field must contain a positive number!");
window.event.preventDefault(); // <--- stop default handling
}
}
函数checkPos1(){
var x=parseInt(document.getElementById('qty1').value);
if(x<0)
{
警报(“数量字段必须包含正数!”);
window.event.preventDefault();//尝试使用onclick=“checkPos1();”
而不是onclick=“checkPos1()”
并检查x
是否携带任何值到控制台。使用
不要在提交按钮上单击“操作”。让您将x的值打印到控制台?您得到了什么?仅供参考,零既不是负数也不是正数。看起来您真正想要的是一个非负数。如何检查以确保x是整数?要过滤掉非数字,请使用!(x>0)
而不是x@user3691334由于x
是由parseInt
返回的值,因此您将返回一个整数或NaN
(不是一个数字)。您可以使用isNaN(x)
对其进行测试。无需使用返回返回值,这将与window.event.preventDefault()一起使用;有效,谢谢!但是如何检查非数字?为此,您可以使用称为NaN
非数字的方法:if(x.isNan()){
这将检查值是数字还是字母字符…如何检查非数字?只需在检查条件之前检查x
的值。如alert(x);