检查输入数字变量

时间:2014-10-03 10:17:43

标签: javascript jquery html

我必须检查一个输入数字变量,这是一个例子......为什么它不起作用?在jquery中有一个替代解决方案,方法是onchange而不使用按钮吗?

<input type="text" id="prova"> </input>
<input type="submit" name="submit" value="submit" onclick="test()">

<script language="javascript">
     function test(){
        var x = document.getElementById("prova");
        if (x<=10)
            alert("è minore di 10");
        else
            alert("è maggiore di 10");
     }
</script>    

5 个答案:

答案 0 :(得分:1)

这一行

 var x = document.getElementById("prova");

它将为ID对象porva提供DOM对象。您正在将该DOM对象与数字进行比较,使用DOM对象的value属性。

将其更改为

 var x = document.getElementById("prova").value;

最好转换数字值,因为.value返回一个字符串

 var x = +(document.getElementById("prova").value);

答案 1 :(得分:0)

您正在比较字符串化(即"[Object object]")而非其.value属性的结果。

答案 2 :(得分:0)

而不是

 var x = document.getElementById("prova");

使用

  var x = parseInt(document.getElementById("prova").value,10);

答案 3 :(得分:0)

使用以下JQuery代码:

var x =$("#prova").val();
x = x.parseInt(x);
if(x<=10)
    alert("è minore di 10");
else
    alert("è maggiore di 10");

答案 4 :(得分:-1)

试试这个:

<input type="text" id="prova"> </input>
<input type="submit" name="submit" value="submit" onclick="test()">

<script language="javascript">
     function test(){
        var x = +(document.getElementById("prova").value);
        if (x<=10)
            alert("è minore di 10");
        else
            alert("è maggiore di 10");
     }
</script>