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();
     }
    });
    

      

  • 相关阅读:
    移植BOA
    [转]Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
    服务器软件设计的算法和问题
    [solve]Bind: Address Already in Use
    Simple guide for Automake/Autoconf by Nick
    Ubuntu(Linux)中设置samba
    VMware不能上网,解决办法
    数组的顺序存储和实现
    根文件系统的构成
    Linux网络编程IP转换函数inet_addr和inet_ntoa
  • 原文地址:https://www.cnblogs.com/akulubala/p/2864749.html
Copyright © 2011-2022 走看看