繁体   English   中英

jQuery验证插件不受任何IE或Firefox <3.6的支持,但适用于Chrome和Safari

[英]JQuery validation plugin not supported by any IE or Firefox < 3.6 but works fine for Chrome and Safari

这是我的第一篇文章,如果能尽快从您那里得到解决方案,将不胜感激。 提前致谢。 :)

我在应用程序中使用JQuery验证插件。 我有一个注册表单,并使用.submit()方法提交表单。 但是,当我尝试从Mozilla或IE提交相同的表单时,它会提交表单,但不会通过验证。 简而言之,没有验证,我正在y DB中获取垃圾数据。

我正在附加我的.JS文件,请务必查看并让我知道我做错了什么。

home.js

//验证规则

    $('#signup-form').validate({

        rules: {
            'firstname':       { required:  true },
            'lastname':        { required:  true },
            'email':           { required:  true,
                                 email:     true,
                                 remote:  { url:  siteurl+'ajax/checkemail',
                                            type: 'post' }},
. 
.
.
.
messages: {
            'firstname':       { required:  'Please enter your first name' },
            'lastname':        { required:  'Please enter your last name' },
            'email':           { required:  'Please enter your email address',
                                 email:     'Your email address is invalid',
                                 remote:    'The email you chose is already in use' },

    .
    .
    .       
    errorLabelContainer: $(".fail-message")

    });.

//点击注册确定按钮

            $("#signup-ok-btn").click(function(){           
              $("#signup-form").submit();
              return false;         
             });

//注册表单提交

     $('#signup-form').submit(function(){

        //If the form is invalid
        if ($('#signup-form').valid()){             
            return true;                                    
        } else {                
            //Show errors
            $('#signup-form-fail').fadeIn(300);
            return false;                   
        }

    });

我添加了一些代码片段以提交表单。 如果在某些约束问题上我出了错,可以请我指导。

您应该在验证代码中使用submitHandler

$('#signup-form').validate({
   rules: {
     'firstname': { required: true },
     'lastname': { required: true },
     'email': {
        required: true,
        email: true,
        remote: {
           url: siteurl+'ajax/checkemail',
           type: 'post'
        }
     }
   },

   messages: {
     'firstname': { required: 'Please enter your first name' },
     'lastname': { required: 'Please enter your last name' },
     'email': {
        required: 'Please enter your email address',
        email: 'Your email address is invalid',
        remote: 'The email you chose is already in use'
     }
   },

   errorLabelContainer: $(".fail-message"),

   submitHandler: function(form) {
      ...WHAT YOU WANT TO HAPPEN WHEN THE FORM IS SUBMITTED...
      form.submit();
   }
});

您不应该手动将任何东西附加到“提交”按钮上。 验证插件可以为您完成所有这些工作。

这是jQuery Validation插件的官方文档: http : //docs.jquery.com/Plugins/Validation 大量的良好信息和示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM