title: JQuery validate + Gravity form conflict?
body: <p>As Gravity form doesn't have a client side validatation, I'm using JQuery Validate plugin. But the form is not submitting even if the form is properly filled.</p>
  
  <p>Working :</p>
  
  <ul>
  <li>Filling all the fields before clicking on the submit button THEN click on the submit button -> The form is sending</li>
  </ul>
  
  <p>No Working:</p>
  
  <ul>
  <li>Triggering the client side validation by clicking on the submit button with empty fields -> the validation is triggered -> fill the missing fields THEN click again on the submit button -> Strictly nothing happens.</li>
  </ul>
  
  <p>So what I understand is that when the validation has been triggered once it will prevent the form sending EVEN if the form is properly filled later. Someone says the submitHandler is not needed (<a href="https://stackoverflow.com/questions/25543935/gravity-form-is-not-submitting-after-client-side-validations">Gravity Form is not submitting after client side validations</a>), I've also checked other posts without success.</p>
  
  <p>I have then remove the submitHandler, but the form is still not submitting.</p>
  
  <p>-Code with submitHandler :</p>
  
  <pre><code>if($(".contact-form").length){
  
      $(".contact-form").validate({
      rules: {
          input_5: {
              required: true,
          },
          input_2: {
              required: true,
              email: true
          },
          input_3: {
              required: true,
          },
          input_4: {
              required: true,
          },
      },
      messages: {
          input_5: 'Please enter your name',
          input_2: {
              required: 'Please enter your Email address',
              email: 'Please enter a valid Email address'
          },
          input_3: 'Please enter your Telephone Number',
          input_4: 'Please enter your Message',
      }, 
      submitHandler: function(form) {  
          if ($(form).valid())
             {
                 form.submit(); 
             }
          return true;
      },
  
      });
  
  };
  </code></pre>
  
  <p>-Code without submitHandler :</p>
  
  <pre><code>if($(".contact-form").length){
  
      $(".contact-form").validate({
          rules: {
              input_5: {
                  required: true,
              },
              input_2: {
                  required: true,
                  email: true
              },
              input_3: {
                  required: true,
              },
              input_4: {
                  required: true,
              },
          },
          messages: {
              input_5: 'Please enter your name',
              input_2: {
                  required: 'Please enter your Email address',
                  email: 'Please enter a valid Email address'
              },
              input_3: 'Please enter your Telephone Number',
              input_4: 'Please enter your Message',
          }, 
  
      });
  
  };
  </code></pre>
  
  <p>Both code are preventing the form to be sent.</p>
  
  <p>Thank you.</p>
  
  <p>//// Edit</p>
  
  <p>I have the feeling that it's because all the s*** added to the submit button created by Gravity form : </p>
  
  <pre><code>&lt;input type="submit" id="gform_submit_button_1" class="gform_button button" value="Send" tabindex="5" onclick="if(window[&amp;quot;gf_submitting_1&amp;quot;]){return false;}  window[&amp;quot;gf_submitting_1&amp;quot;]=true;  " onkeypress="if( event.keyCode == 13 ){ if(window[&amp;quot;gf_submitting_1&amp;quot;]){return false;} window[&amp;quot;gf_submitting_1&amp;quot;]=true;  jQuery(&amp;quot;#gform_1&amp;quot;).trigger(&amp;quot;submit&amp;quot;,[true]); }"&gt;
  </code></pre>
  
  <p>Because if I submit the form through the console it's working.</p>
  
  <p>Here is the form generated by Gravity Form :</p>
  
  <pre><code>&lt;div class="gf_browser_chrome gform_wrapper contact-form_wrapper container_wrapper" id="gform_wrapper_1"&gt;
      &lt;form method="post" enctype="multipart/form-data" id="gform_1" class="contact-form container" action="/contact/" novalidate="novalidate"&gt;
          &lt;div class="gform_heading"&gt;
              &lt;h3 class="gform_title"&gt;Contact Form&lt;/h3&gt;
              &lt;span class="gform_description"&gt;Contact Form&lt;/span&gt;
          &lt;/div&gt;
          &lt;div class="gform_body"&gt;
              &lt;ul id="gform_fields_1" class="gform_fields top_label form_sublabel_below description_below"&gt;
                  &lt;li id="field_1_5" class="gfield form__single-input gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible"&gt;
                      &lt;label class="gfield_label" for="input_1_5"&gt;Name&lt;span class="gfield_required"&gt;*&lt;/span&gt;&lt;/label&gt;
                      &lt;div class="ginput_container ginput_container_text"&gt;
                          &lt;input name="input_5" id="input_1_5" type="text" value="" class="medium" tabindex="1" placeholder="Name*" aria-required="true" aria-invalid="false"&gt;
                      &lt;/div&gt;
                  &lt;/li&gt;
                  &lt;li id="field_1_2" class="gfield form__single-input gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible"&gt;
                      &lt;label class="gfield_label" for="input_1_2"&gt;Email&lt;span class="gfield_required"&gt;*&lt;/span&gt;&lt;/label&gt;
                      &lt;div class="ginput_container ginput_container_email"&gt;
                          &lt;input name="input_2" id="input_1_2" type="text" value="" class="medium" tabindex="2" placeholder="Email*" aria-required="true" aria-invalid="false"&gt;
                      &lt;/div&gt;
                  &lt;/li&gt;
                  &lt;li id="field_1_3" class="gfield form__single-input gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible"&gt;
                      &lt;label class="gfield_label" for="input_1_3"&gt;Telephone Number&lt;span class="gfield_required"&gt;*&lt;/span&gt;&lt;/label&gt;
                      &lt;div class="ginput_container ginput_container_text"&gt;
                          &lt;input name="input_3" id="input_1_3" type="text" value="" class="medium" tabindex="3" placeholder="Telephone Number*" aria-required="true" aria-invalid="false"&gt;
                      &lt;/div&gt;
                  &lt;/li&gt;
                  &lt;li id="field_1_4" class="gfield form__textarea gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible"&gt;
                      &lt;label class="gfield_label" for="input_1_4"&gt;Message&lt;span class="gfield_required"&gt;*&lt;/span&gt;&lt;/label&gt;
                      &lt;div class="ginput_container ginput_container_textarea"&gt;&lt;textarea name="input_4" id="input_1_4" class="textarea medium" tabindex="4" placeholder="Message*" aria-required="true" aria-invalid="false" rows="10" cols="50"&gt;&lt;/textarea&gt;
                      &lt;/div&gt;
                  &lt;/li&gt;
                  &lt;li id="field_1_6" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_"&gt;&lt;label class="gfield_label" for="input_1_6"&gt;Phone&lt;/label&gt;
                      &lt;div class="ginput_container"&gt;&lt;input name="input_6" id="input_1_6" type="text" value=""&gt;&lt;/div&gt;
                      &lt;div class="gfield_description"&gt;This field is for validation purposes and should be left unchanged.&lt;/div&gt;
                  &lt;/li&gt;
              &lt;/ul&gt;
          &lt;/div&gt;
          &lt;div class='gform_footer top_label'&gt;
  
              &lt;input type='submit' id='gform_submit_button_1' class='gform_button button' value='Send' tabindex='5' onclick='if(window["gf_submitting_1"]){return false;}  window["gf_submitting_1"]=true;  ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_1"]){return false;} window["gf_submitting_1"]=true;  jQuery("#gform_1").trigger("submit",[true]); }' /&gt; 
              &lt;input type='hidden' class='gform_hidden' name='is_submit_1' value='1' /&gt;
              &lt;input type='hidden' class='gform_hidden' name='gform_submit' value='1' /&gt;
  
              &lt;input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /&gt;
              &lt;input type='hidden' class='gform_hidden' name='state_1' value='WyJbXSIsIjA3ZWZlNTFlNzIwYTFjNDVjNGEzMjExMmZjMTIxMDQ2Il0=' /&gt;
              &lt;input type='hidden' class='gform_hidden' name='gform_target_page_number_1' id='gform_target_page_number_1' value='0' /&gt;
              &lt;input type='hidden' class='gform_hidden' name='gform_source_page_number_1' id='gform_source_page_number_1' value='1' /&gt;
              &lt;input type='hidden' name='gform_field_values' value='' /&gt;
  
          &lt;/div&gt;
      &lt;/form&gt;
  &lt;/div&gt;
  </code></pre>