【问题标题】:Validation is not working in Phonegap but works perfectly in Browser验证在 Phonegap 中不起作用,但在浏览器中完美运行
【发布时间】:2014-03-04 06:21:43
【问题描述】:

我有一个 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 中的建议进行了此更正,但仍然无法正常工作。

【问题讨论】:

  • 尝试使用输入类型="text"...!!
  • 我正在创建这个用于制作 android 应用程序。如果我使用文本而不是数字,那么在文本字段中单击 qwerty kepad 将打开,我也必须为字母编写验证代码。
  • 是的,我明白你的意思。我检查了您在浏览器上运行良好的代码我不知道为什么它在设备上不适合您.. 刚刚使用 type="text" 进行了检查..!!
  • 尝试使用 parseInt()..
  • jsfiddle.net/42SQc/1 试试这个小提琴,让我知道这是否适合你!

标签: jquery validation jquery-mobile cordova


【解决方案1】:

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

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

【讨论】:

  • 感谢您回答它仍然无法在 android AVD 中工作
  • 我正在使用 jquery mobile 是否对我的 jquery 验证产生了某种问题?
猜你喜欢
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-20
相关资源
最近更新 更多