加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax提交之前的jQuery表单验证

发布时间:2020-12-16 03:13:20 所属栏目:百科 来源:网络整理
导读: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').ser
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位:

<input type="text" name="answer[1]" class="required" />
    <input type="text" name="answer[2]" class="required" />

所以这是我试图使用的代码。这个想法是在我用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);
            }            
        });
    }
});

如果验证已通过,jQuery.validate插件将调用提交处理程序。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读