Heim  >  Artikel  >  Backend-Entwicklung  >  请问jquery有方法可以判断一个表单提交之后结果是成功或不成功吗?

请问jquery有方法可以判断一个表单提交之后结果是成功或不成功吗?

WBOY
WBOYOriginal
2016-08-04 09:19:301430Durchsuche

具体是这样的,今天在做项目的时候用到layer弹出插件,我弹出的是一个iframe层。我用了ajax提交,通过ajax提交后的回调判断提交是否成功,成功就调用parent.layer.close(index);关掉这个弹出框并且在外面刷新当前页面取最新数据。

但是问题来了,现在需要加一个表单验证,我打算用jquery validate来做验证,但是我提交的时候是用ajax,不经过form标签的。所以想问下有什么方法可以判断一个表单提交之后结果是成功或不成功

表单处:

<code class="html">        <div class="ibox-content">
            <div class="col-md-12">
                <div class="form-group">
                    <label class="col-sm-3 control-label">用户组名称:</label>
                    <div class="col-sm-9">
                        <input id="name" name="name" class="form-control" placeholder="用户组名称" type="text" value="{$info.name}"> <span class="help-block m-b-none id='user_help' ">输入用户组名称,不能少于3个字</span>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-3 control-label">所属上级组名称 :</label>
                    <div class="col-sm-9">
                        <select class="form-control" name="pid[]" id="pid">
                            {$a}
                        </select> <span class="help-block m-b-none">请下拉选择该分组的所属上级,若该分组没有所属上级,则选择最上级</span>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-6 control-label">组详细说明:</label>
                    <div class="col-sm-6">
                        <textarea id="description" name="description" placeholder="输入组详细说明" style="height: 120px; width: 640px">{$info.description}</textarea>
                    </div>
                </div>
                <input type="hidden" id="id" name="id" value="{$info.id}">
                <button class="btn btn-primary" id="button">提交</button>
            </div>
        </div>

js ajax提交</code>

<script></script>

<code>    var url = "{:U('info')}";
    var index = parent.layer.getFrameIndex(window.name); 
    $('#button').click(function(){
        $.post(url,{
            'name' : $('#name').val(),
            'pid' : $('#pid').val(),
            'description' : $('#description').val(),
            'id' : $('#id').val()
        },function(data){
            if(data.status != 1){
                alert(data.info);
            }else{
                alert(data.info);
                parent.layer.close(index); //执行关闭
            }
        })
    })
</code>

回复内容:

具体是这样的,今天在做项目的时候用到layer弹出插件,我弹出的是一个iframe层。我用了ajax提交,通过ajax提交后的回调判断提交是否成功,成功就调用parent.layer.close(index);关掉这个弹出框并且在外面刷新当前页面取最新数据。

但是问题来了,现在需要加一个表单验证,我打算用jquery validate来做验证,但是我提交的时候是用ajax,不经过form标签的。所以想问下有什么方法可以判断一个表单提交之后结果是成功或不成功

表单处:

<code class="html">        <div class="ibox-content">
            <div class="col-md-12">
                <div class="form-group">
                    <label class="col-sm-3 control-label">用户组名称:</label>
                    <div class="col-sm-9">
                        <input id="name" name="name" class="form-control" placeholder="用户组名称" type="text" value="{$info.name}"> <span class="help-block m-b-none id='user_help' ">输入用户组名称,不能少于3个字</span>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-3 control-label">所属上级组名称 :</label>
                    <div class="col-sm-9">
                        <select class="form-control" name="pid[]" id="pid">
                            {$a}
                        </select> <span class="help-block m-b-none">请下拉选择该分组的所属上级,若该分组没有所属上级,则选择最上级</span>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-6 control-label">组详细说明:</label>
                    <div class="col-sm-6">
                        <textarea id="description" name="description" placeholder="输入组详细说明" style="height: 120px; width: 640px">{$info.description}</textarea>
                    </div>
                </div>
                <input type="hidden" id="id" name="id" value="{$info.id}">
                <button class="btn btn-primary" id="button">提交</button>
            </div>
        </div>

js ajax提交</code>

<script></script>

<code>    var url = "{:U('info')}";
    var index = parent.layer.getFrameIndex(window.name); 
    $('#button').click(function(){
        $.post(url,{
            'name' : $('#name').val(),
            'pid' : $('#pid').val(),
            'description' : $('#description').val(),
            'id' : $('#id').val()
        },function(data){
            if(data.status != 1){
                alert(data.info);
            }else{
                alert(data.info);
                parent.layer.close(index); //执行关闭
            }
        })
    })
</code>

ajax也可以提交表单啊

表单提交之后,根据数据库的操作结果,判断,跳转到哪个页面,成功还是失败

根据ajax请求数据后,返回的结果可以做判断

sucess可以判断ajax的数据是否顺利传送到服务器,服务器返回的数据判断服务器是否成功处理

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn