验证在Phonegap中不起作用,但在浏览器中完美运行

时间:2014-03-04 06:21:44

标签: jquery validation jquery-mobile cordova

我有一个number类型的字段。我已使用jquery验证了此字段,它在浏览器中显示了必要的警告但在与Phonegap一起使用时无法在手机中显示。

我的代码是:

PUT YOUR ANSWER HERE: <input id="ans" type="number" name="ans" min="1" max="10">

  <input id="nextbutton1" type="button" name="next1" value="Subbmit" class="nextbutton">

我只想接受1到10之间的数字。但是当我输入1-或1 2或2 ++时,它会在电话中没有任何提示输入。

我的jquery就是这个

$('#nextbutton1').click(function() {
   var num=$("#ans").val().trim();

                if ((num < 1 || num > 10) && num.length != 0) {
        if (num < 1) {
            alert("Oops! You cannot enter vlues smaller than 1");
          $('input[type=number]').val('');

        }

        if (num > 10) {
            alert("Oops! You cannot enter vlues Greater than 10");
            $('input[type=number]').val('');
        }

    }

else if ((num % 1) != 0) {
    alert("You Cannot Enter Decimal Values or any other symbols ");
    $('input[type=number]').val('');
}
else if(num=="")
{
alert("Oops ! Please Select any number from 1 to 10 ");
$('input[type=number]').val('');
}
else
{
if(num == rand)
{
alert("Correct");
}
}
 });

这里rand是从1到10的随机生成的数字。

我可以做些什么才能在手机中完美地工作?

更新

我也按照this answer中的建议进行了此修正,但仍无效。

1 个答案:

答案 0 :(得分:0)

在将值与数字进行比较之前,您需要将值字符串转换为整数。所以正确的行是:

var num = window.parseInt($("#ans").val().trim(), 10);