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

      

  • 相关阅读:
    使用Python创建自己的Instagram滤镜
    TensorFlow v2.0实现逻辑斯谛回归
    自动驾驶研究回顾:CVPR 2019摘要
    dp cf 20190613
    简单搜索 kuangbin C D
    树形dp compare E
    区间dp E
    Codeforces Round #564 (Div. 2)
    网络流 + 欧拉回路 = B
    网络流 A
  • 原文地址:https://www.cnblogs.com/akulubala/p/2864749.html
Copyright © 2011-2022 走看看