jquery.validation不适用于IE和智能手机的低音

时间:2013-03-21 16:13:17

标签: jquery jquery-validate

我正在使用bassistance jquery.validation,它适用于ff和chrome,但不适用于移动和IE。网站上的示例工作正常,但在我的项目中只有ff和chrome。我正在使用红宝石和铁轨。

使用此setup

(function() {
// use custom tooltip; disable animations for now to work around lack of refresh method on tooltip
$("#madlibs_form").tooltip({
    show: false,
    hide: false
});


// validate signup form on keyup and submit
$("#madlibs_form").validate({
    rules: {
        industry: {
            required:"required";
        },
        amount: {
            required:"required";
        }


    },
    messages: {
        desired_amount: {
            required:{"Please enter loan amount"}

    }
});

$("#madlibs_form input:not(:submit)").addClass("ui-widget-content");
$(":submit").button();
})();

2 个答案:

答案 0 :(得分:2)

我不了解your code在任何浏览器中的运作方式......

required:"required";
  • required规则设置为"required"会破坏规则,但会被忽略。
  • 使用分号可以防止插件工作。

应该是......

required: true

另外,请检查您在自定义消息周围放置大括号的方式。

DEMO:http://jsfiddle.net/Lks8E/


或者,你可以这样做。请注意我们在这种情况下如何使用字段名称,并用逗号分隔。

industry: "required",
amount: "required"

DEMO 2:http://jsfiddle.net/Lks8E/1/


根据OP的评论进行编辑:

  

这就是我的html外观<input type="text" name="desired_amount" class="madlibs_enter_amount" placeholder="enter a amount" required >   我应该在这里添加required="true"吗?

这解释了为什么您的代码在某些浏览器中有效。由于您在required元素中有input,因此HTML 5验证会接管插件失败的位置。

没有。你在那里有一个required attribute,你为什么还要添加另一个...... required="true"?虽然,最好用适当的HTML 5语法required="required"替换它。请参阅:https://stackoverflow.com/a/3012975/594235

由于HTML中已经有required attribute,因此您无需在required内冗余声明任何.validate()规则。

$('#madlibs_form').validate();

仔细检查这个jsFiddle ......

<强> http://jsfiddle.net/PFF4v/

答案 1 :(得分:0)

修复问题jquery validate + jquery(1.4.4)不工作IE 7:

不要使用:

$('#form').validate({
 rules : {
  name : "required"
 }
});

使用:

$('#form').validate({
 rules : {
  name : {
   required : true
  }
 }
});