首頁 >後端開發 >php教程 >請問jquery有方法可以判斷表單提交之後結果是成功或不成功嗎?

請問jquery有方法可以判斷表單提交之後結果是成功或不成功嗎?

WBOY
WBOY原創
2016-08-04 09:19:301493瀏覽

具體是這樣的,今天在做專案的時候用到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); //执行关闭
            }
        })
    })
</script></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); //执行关闭
            }
        })
    })
</script></code>

ajax也可以提交表單

表單提交之後,根據資料庫的操作結果,判斷,跳到哪個頁面,成功還是失敗

根據ajax請求資料後,回傳的結果可以做判斷

sucess可以判斷ajax的資料是否順利傳送到伺服器,伺服器回傳的資料判斷伺服器是否成功處理

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn