2014-10-10 62 views
0

我有一个小问题,我有一个引导验证插件,也阿贾克斯后脚本引导的形式。我的问题是,我不知道如何设置一个条件,我要达到使提交按钮。形成jQuery验证,然后通过AJAX发送到PHP

我想设置我的提交按钮默认是关闭的,如果所有的输入将被填充(自举验证条件),则JavaScript可以让点击提交按钮。

谢谢你的答案。

这里是我的代码:

<script> 
 
jQuery(document).ready(function() { 
 
    jQuery('#requestquote').bootstrapValidator({ 
 
    \t message: 'This value is not valid', 
 
    \t group: '.form-overenie', 
 
     feedbackIcons: { 
 
      valid: 'glyphicon glyphicon-ok', 
 
      invalid: 'glyphicon glyphicon-remove', 
 
      validating: 'glyphicon glyphicon-refresh' 
 
     }, 
 
     fields: { 
 
      name: { 
 
       message: 'Zadané meno nie je správne', 
 
       validators: { 
 
        notEmpty: { 
 
         message: 'Prosím zadajte svoje meno' 
 
        }, 
 
       } 
 
      }, 
 
      company: { 
 
       message: 'Zadaný názov je neplatný', 
 
       validators: { 
 
        notEmpty: { 
 
         message: 'Prosím napíšte názov spoločnosti' 
 
        }, 
 
       } 
 
      }, 
 
      phone: { 
 
       message: 'Zadané číslo je neplatné', 
 
       validators: { 
 
       \t stringLength: { 
 
         min: 9, 
 
         message: 'Zadané číslo je príliš krátke' 
 
        }, 
 
        notEmpty: { 
 
         message: 'Prosím zadajte svoje telefónne číslo' 
 
        }, 
 
       } 
 
      }, 
 
      mailovaadresa: { 
 
       message: 'Zadaný email nie je správny', 
 
       validators: { 
 
        notEmpty: { 
 
         message: 'Prosím zadajte svoju emailovú adresu' 
 
        }, 
 
       } 
 
      }, 
 
      projecttype: { 
 
       message: 'Zadaný názov je neplatný', 
 
       validators: { 
 
        notEmpty: { 
 
         message: 'Prosím zadajte typ projektu' 
 
        }, 
 
       } 
 
      }, 
 
      budget: { 
 
       message: 'Zadaný názov je neplatný', 
 
       validators: { 
 
        notEmpty: { 
 
         message: 'Prosím zadajte približnú výšku rozpočtu' 
 
        }, 
 
       } 
 
      }, 
 
      projectdescription: { 
 
       validators: { 
 
       \t 
 
       } 
 
      }, 
 
     } 
 
    }); 
 
}); 
 

 

 

 
jQuery(function() { 
 

 
     jQuery('#requestquote').unbind('submit').bind('submit', function (e) { 
 

 
      e.preventDefault(); 
 

 
      jQuery.ajax({ 
 
      type: 'post', 
 
      url: 'forms/requestquote.php', 
 
      data: jQuery('#requestquote').serialize(), 
 
      success: function() { 
 
       jQuery("#uspesne-odoslane").show(); 
 
       jQuery(".formular-potvrdit").hide(); 
 
       jQuery(".formular-riadok").hide(); 
 
       jQuery(".formular-zavriet").hide(); 
 
      } 
 
      }); 
 
     }); 
 

 
     }); 
 
</script>
<form id="requestquote" action="forms/requestquote.php" method="post" style="width:85%;margin:0 auto;"> 
 
     \t <div class="formular-riadok"> 
 
     <fieldset><div class="form-overenie" style="float:left;"><input type="text" name="name" placeholder="Meno" class="input-lava" /></div> 
 
     <div class="form-overenie" style="float:right;"><input type="text" name="company" placeholder="Spoločnosť" class="input-prava" /></div> 
 
     </div> 
 
     <div class="formular-riadok"> 
 
     <div class="form-overenie" style="float:left;"><input type="text" name="phone" placeholder="Telefón" class="input-lava" /></div> 
 
     <div class="form-overenie" style="float:right;"><input type="email" name="mailovaadresa" placeholder="E-mail" class="input-prava" /></div> 
 
     </div> 
 
     <div class="formular-riadok"> 
 
     <div class="form-overenie" style="float:left;"><select name="projecttype" class="input-lava" style="margin-bottom:30px;"> 
 
     \t <option value="" disabled selected>Typ projektu</option> 
 
     \t <option value="webstranka">Web stránka</option> 
 
     \t <option value="eshop">E-shop</option> 
 
     \t <option value="portal">Portál</option> 
 
     \t <option value="forum">Fórum</option> 
 
     \t <option value="seo">SEO</option> 
 
     \t <option value="korporatnaidentita">Korporátna identita</option> 
 
     \t <option value="logo">Logo</option> 
 
     \t <option value="ine">Iné</option> 
 
     </select></div> 
 
     <div class="form-overenie" style="float:right;"><select name="budget" class="input-prava" style="margin-bottom:30px;"> 
 
     \t <option value="" disabled selected>Rozpočet</option> 
 
     \t <option value="do500">do 500 €</option> 
 
     \t <option value="500az1000">500 € - 1 000 €</option> 
 
     \t <option value="1000az3000">1 000 € - 3 000 €</option> 
 
     \t <option value="3000az5000">3 000 € - 5 000 €</option> 
 
     \t <option value="5000az10000">5 000 € - 10 000 €</option> 
 
     \t <option value="10000az20000">10 000 € - 20 000 €</option> 
 
     \t <option value="nad20000">nad 20 000 €</option> 
 
     </select></div> 
 
     </div> 
 
     <div class="formular-riadok"> 
 
     <div class="form-overenie" style="display:block;"><textarea name="projectdescription" placeholder="Stručný popis projektu" class="formular-textarea"></textarea></div> 
 
     </div> 
 
     <div class="formular-riadok" style="margin-top:30px;"> 
 
     <span class="formular-zavriet" data-dismiss="modal">Zatvoriť</span> 
 
     <button type="submit" class="formular-potvrdit" disabled>Odoslať</button></fieldset> 
 
     </div> 
 
     
 
     <div id="uspesne-odoslane" data-dismiss="modal" hidden><h3><i class="fa fa-check-circle"></i>Správa bola úspešne odoslaná</h3></div> 
 
     </form>

我停用了提交按钮,但是当我点击SUMIT,阿贾克斯将发送数据,当任何输入被填满。

虽然我只有脚本的第一部分,但一切都正常(只有在每个输入都已填充的情况下,它才允许我发送表单),但是当我添加一个Ajax时,如果只填充一个输入,则会将表单发送给PHP ...

回答

0

您应该使用:

data: jQuery('#requestquote').serializeArray(), 

序列化()会给你像一个查询字符串