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

      

  • 相关阅读:
    RTImageAssets 自动生成 AppIcon 和 @2x @1x 比例图片
    Git 执行 「fork 出来的仓库」和「最新版本的原仓库」内容同步更新
    自定义支持多种格式可控范围的时间选择器控件
    UIWebView 操作
    iOS 模拟器键盘弹出以及中文输入
    验证 Xcode 是否来自正规渠道
    使用 AFNetworking 进行 XML 和 JSON 数据请求
    Reveal UI 分析工具分析手机 App
    多种方式实现文件下载功能
    网站HTTP升级HTTPS完全配置手册
  • 原文地址:https://www.cnblogs.com/akulubala/p/2864749.html
Copyright © 2011-2022 走看看