jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery验证:在整个表单验证后调用ajax并关闭bootstrap模式表单大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Bootstrap布局和 the jQuery Validation Plugin.我点击一个按钮,打开表单的模态.用户输入一些数据并对其进行改进,直到一切正确.当他提交它时,它应该进行ajax调用关闭模态形式(但如果验证失败,则应该没有ajax并且没有模态关闭).以下是我的代码

ajax电话

$('#outcomeFormDialog form').on( "submit",function( event ) {
    var form = $(this);
    $.ajax({
        type: form.attr('method'),url: "../PHP/client/json.PHP",data: form.serialize(),success: function(data,status) {
            $(this).modal('hide');
        }
    });

    event.preventDefault();
});

当前验证码:

$('#outcomeFormDialog form').validate(
 {
  rules: {
    amount: {
      money: true,required: true
    },comment: {
      required: false
    }
  },highlight: function(element) {
    $(element).closest('.control-group')
    .removeClass('success').addClass('error');
  },success: function(element) {
    element
    .addClass('valid').closest('.control-group')
    .removeClass('error').addClass('success');
  }
 });

据我所知,jquery验证的成功对应于每个表单元素而不是整个表单 – 因此检查整个表单验证应该以其他方式完成.

这是我的形式(小胡子驱动):

<div id="outcomeFormDialog" class="modal hide fade" role="dialog">
    <form class="form-horizontal well" data-async data-target="#outcomeFormDialog" method="POST">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">×</button>
            <h3 id="mymodalLabel">Add outcome</h3>
        </div>
        <div class="modal-body">
            <fieldset>
                <input name="type" type="hidden" value="add_outcome" />
                <div class="control-group">
                    <label class="control-label" for="amount">amount</label>
                    <div class="controls">
                        <div class="input-prepend">
                            <span class="add-on">{{ currency }}</span>
                            <input type="text" name="amount" class="input-xlarge" placeholder="00.01" />
                        </div>
                    </div>
                </div>
                <div class="control-group">
                    <label class="control-label" for="comment">Comment</label>
                    <div class="controls">
                        <input type="text" name="comment" class="input-xlarge" placeholder="Comment here..." />
                    </div>
                </div>
            </fieldset>
        </div>
        <div class="modal-footer">
            <button class="btn" data-dismiss="modal">Close</button>
            <button type="submit" class="btn btn-priMary">Save outcome</button>
        </div>
    </form>
</div>

解决方法

关于这个插件你有几个流行的问题和误解:

>您不需要提交处理程序.此插件自动捕获并处理提交按钮的单击事件.
> As per the docs,你应该把你的ajax放在插件的submitHandler回调选项中.

假设您的ajax写得正确,请将您的代码重新排列成更像这样的内容

$(document).ready(function () {

    $('#outcomeFormDialog form').validate({  // initialize plugin
        rules: {
            amount: {
                // money: true,//<-- no such rule
                required: true
            },comment: {
                required: false // superfluous; "false" same as leaving this rule out.
            }
        },highlight: function (element) {
            $(element).closest('.control-group')
                .removeClass('success').addClass('error');
        },success: function (element) {
            element.addClass('valid').closest('.control-group')
                .removeClass('error').addClass('success');
        },submitHandler: function (form) {
            // form validates so do the ajax
            $.ajax({
                type: $(form).attr('method'),data: $(form).serialize(),success: function (data,status) {
                    // ajax done
                    // do whatever & close the modal
                    $(this).modal('hide');
                }
            });
            return false; // ajax used,block the normal submit
        }
    });

});

工作演说:http://jsfiddle.net/duAkn/

大佬总结

以上是大佬教程为你收集整理的jquery验证:在整个表单验证后调用ajax并关闭bootstrap模式表单全部内容,希望文章能够帮你解决jquery验证:在整个表单验证后调用ajax并关闭bootstrap模式表单所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。