JavaScript位:
- $(document).ready(function()
- {
- $('#form').submit(function(e)
- {
- e.preventDefault();
- var $form = $(this);
- // check if the input is valid
- if(! $form.valid()) return false;
- $.ajax(
- {
- type:'POST',url:'add.PHP',data:$('#form').serialize(),success:function(response)
- {
- $("#answers").html(response);
- }
- });
- })
- });
HTML位:
所以这是我试图使用的代码。这个想法是在我用Ajax发送表单之前,让我的所有输入都被验证。我已经尝试了许多这样的版本,但每次我最终提交即使表单没有完全填写。我所有的输入都是“必需”类。谁能看到我做错了什么?
此外,我依赖于基于类的需求,因为我的输入名称是用PHP生成的,所以我永远不能确定什么名字[id]或输入类型。
- <input type="button" id="next" onClick="toggleVisibility('form3')" class="next-btn"/>
JS:
- function toggleVisibility(newSection)
- {
- $(".section").not("#" + newSection).hide();
- $("#" + newSection).show();
- }
您可以使用
submitHandler
选项。基本上将$ .ajax调用放在此处理程序中,即将其与验证设置逻辑反转。
- $('#form').validate({
- ... your validation rules come here,submitHandler: function(form) {
- $.ajax({
- url: form.action,type: form.method,data: $(form).serialize(),success: function(response) {
- $('#answers').html(response);
- }
- });
- }
- });