【问题标题】:refresh tab after ajax form submit without refreshing the view提交ajax表单后刷新选项卡而不刷新视图
【发布时间】:2019-06-11 09:26:28
【问题描述】:

刷新选项卡和选项卡中的数据而不刷新ajax表单提交的视图

 $(document).off('click','.updatepro');
 $(document).on('click','.updatepro',function(){
    $('#user-update').ajaxSubmit({
        // dataType:'json',
        success:function(response){
            $('#userupdate').modal('hide');
            //$('#tab3').tabs('refresh');
            //document.location.reload(true)
            //$("#userupdate").html(response);
            window.location.href += "#tab2";
            location.reload();
        }
    })
 });

当我提交弹出表单时,表单关闭并刷新视图,但我想要的只是刷新内部的选项卡和数据而不刷新整个视图

【问题讨论】:

  • remove location.reload() 它将刷新您的整个页面,您的标签是您的 div 的 ID 还是其他什么?

标签: javascript ajax laravel


【解决方案1】:

function click()
{
location.href();
$("#divID").load(location.href +"#divID");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="divID">
div is loadedsadsadsafdas
dfdaf

</div>
<div id="DONOTLOADED">
something which is not loaded
</div>
<input type="button" onclick="click()" value="Load Only first Div"/>

【讨论】:

  • 在问问题之前已经尝试过这个没有用。但我想通了。谢谢你的帮助。欣赏它。
【解决方案2】:

这就是我的做法

$(document).off('click','.updatepro');
 $(document).on('click','.updatepro',function(){
    $('#user-update').ajaxSubmit({ 
        dataType:'json',
        success:function(response){
            if(response.type == 'success'){
                $('#userupdate').modal('hide');
                $('#tab2').trigger('click');
                $('.modal-backdrop').remove();
            }else{
                alert(response.message);
            }
            alert("Detail Updated");
            console.log(response);

        }
    })

 });

从控制器发送一个成功类型,并在类型为成功时使用触发器重新加载选项卡。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2011-11-18
    • 2017-04-09
    • 2013-02-09
    • 1970-01-01
    相关资源
    最近更新 更多