zoukankan      html  css  js  c++  java
  • Jquery Validate 插件的使用

    • 先上段代码,边看边解释
    (function($){
      /××这两段是使用CKEDITOR 时候用到的,目的是onfucus,onblur 的时候CKEIDTOR 里面的内容可以显示隐藏
      ××
    CKEDITOR.instances.ck_post_textarea这段就是一个CKEDITOR的实例,因为可以一个页面多个ckeditor编辑框嘛,ck_post_textarea是ckeditor替换的元素名称
      ××/

    CKEDITOR.instances.ck_post_textarea.on('focus',function(){
    if(this.document.getBody().getFirst().getText()=="Please Fill Contents Here!"){
                this.document.getBody().getFirst().removeClass("ck_contents_empty")
                                                  .setText("");
            }
        })
        CKEDITOR.instances.ck_post_textarea.on('blur',function(){
            if(this.document.getBody().getFirst().getText()==""){
                this.document.getBody().getFirst().setText("Please Fill Contents Here!");
            }
        })
        $("#adds").validate({
            rules:{
                q_title:{
                    required:true
                },
                q_type:{
                    required:true
                }
            },    
             submitHandler:function(form){
                if(CKEDITOR.instances.ck_post_textarea.document.getBody().getText()=="" || CKEDITOR.instances.ck_post_textarea.document.getBody().getText()=="Please Fill Contents Here!"){
              //这里addClass class必须写在ckeditor目录下的contents里面,因为它是使用了IFRAME,它有自己的css引用在CKEDTOR目录下
    CKEDITOR.instances.ck_post_textarea.document.getBody().getFirst().addClass("ck_contents_empty"); }else{ $("#add_question").find(":submit").attr("disabled", true).attr("value", "Submitting...");
             /××关键点是要记这里,最开始我使用的是$("#adds").submit();然后就发现一直重复提交,我就纳闷了N久,终于后面发现了要以现在的方式做提交

    form.submit();
                }        
    
            }        
        })
    })($);

    记录这个是因为不够仔细啊,文档么看全,其实纠结的地方文档上面有写,只是没看到。解释如下:

    Too much recursion
    
    Another common problem occurs with this code:
    
    $("#myform").validate({
     submitHandler: function(form) {
       // some other code
       // maybe disabling submit button
       // then:
       $(form).submit();
     }
    });
    This results in a too-much-recursion error: $(form).submit() triggers another round of validation, resulting in another call to submitHandler, and voila, recursion. Replace that with form.submit(), which triggers the native submit event instead and not the validation.
    
    So the correct code looks slightly different:
    
    $("#myform").validate({
     submitHandler: function(form) {
       form.submit();
     }
    });
    

      

  • 相关阅读:
    使用pdm建表并生成SQL语句
    eclipse从svn检出项目之后,找不到BuildPath
    如何搞定SVN目录的cleanup问题和lock问题
    ORA-00923: 未找到要求的 FROM 关键字
    java.sql.SQLException: ORA-00911: 无效字符
    10.vue-router实现路由懒加载( 动态加载路由 )
    9、vue-router的两种模式(hash模式和history模式)的区别
    8、vue-router传递参数的几种方式
    5、vue-router有哪几种导航钩子( 导航守卫 )
    4.怎么定义 vue-router 的动态路由? 怎么获取传过来的值
  • 原文地址:https://www.cnblogs.com/akulubala/p/2864749.html
Copyright © 2011-2022 走看看