Javascript 加载页面,然后启动引导框
我正在处理一个函数,其工作原理如下: 点击链接 基于单击的链接加载页面后,将显示特定的模式窗口 进行模态分析 功能结束 我遇到的问题是,要么模态不会加载,要么它会加载,但在页面加载后立即关闭。这是我正在使用的函数Javascript 加载页面,然后启动引导框,javascript,jquery,bootbox,Javascript,Jquery,Bootbox,我正在处理一个函数,其工作原理如下: 点击链接 基于单击的链接加载页面后,将显示特定的模式窗口 进行模态分析 功能结束 我遇到的问题是,要么模态不会加载,要么它会加载,但在页面加载后立即关闭。这是我正在使用的函数 $(function(){ $('#new-po').click(function(){ window.location.href= $(this).attr('href'); bootbox.dialog({ title
$(function(){
$('#new-po').click(function(){
window.location.href= $(this).attr('href');
bootbox.dialog({
title: "Create New Purchase Order",
message: '<div class="row">'+
'<div class="col-md-12">'+
'<form action="" method="post" id="create-po-form">'+
'<div class="form-group">'+
'<div class="col-md-12">'+
'<div class="form-group row">'+
'<div class="col-md-6">'+
'<label>Invoice Number</label>'+
'<input type="text" class="form-control" id="inv_num"/>'+
'</div>'+
'<div class="col-md-6">'+
'<label>Vendor</label>'+
'<input type="text" class="form-control" id="vendor"/>'+
'</div>'+
'</div>'+
'</div>'+
'<div class="col-md-12">'+
'<div class="form-group row">'+
'<div class="col-md-6">'+
'<label>Invoice Number</label>'+
'<input type="text" class="form-control" id="total"/>'+
'</div>'+
'<div class="col-md-6">'+
'<label>Vendor</label>'+
'<select class="form-control" id="status">'+
'<option value="" selected> -Status-</option>'+
'<option value="Open">Open</option>'+
'<option value="Closed">Closed</option>'+
'<option value="Void">Void</option>'+
'</select>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'</form>'+
'</div>'+
'</div>',
buttons:{
success:{
label: "Create PO",
className: 'btn-success',
callback:function(){
}
}
},
onEscape: function(){
}
});
});
});
您应该移动window.location.href=$this.attr'href';这将发送到对话框的成功处理程序刷新页面后,javascript将停止并加载新脚本 加载新页面时,应激活该页面中的引导框代码 例如: 第1页:
$(function(){
$('#new-po').click(function(){
window.location.href= $(this).attr('href'); // point to page#2
// at this point you can't show bootbox or modify the page!
// - the browser will simply refresh the page to a new url and your changes will not be shown
});
}
第2页:
$(function(){
// show bootbox ...
})
还有其他选项可以满足您的需要-使用iframe在框架中加载页面,或者更好地使用ajax加载html并显示它。您应该移动window.location.href=$this.attr'href';这是dialogholy crap的成功处理程序,如果我周一使用了这个函数,我会让自己冷静下来,我已经将它添加为answer@MarkHill您想在新加载的页面中还是在加载新页面之前使用模型对话框?在新加载的页面中,因此在加载完成后,请单击该按钮。它会在窗口加载之前弹出,然后立即关闭。这几乎就像成功回调是由default触发的一样。我认为成功处理程序应该与本例中的自定义对话框相同。它需要另一个回调我考虑过了,但我认为nomy javascript在一个包含所有页面的相同页脚的include文件中,这很好,但在加载新页面时激活它,而不是在旧页面中单击链接时激活它。更新了我的答案以突出这一点。你能提供一个例子吗?我编辑了上面的问题,以显示我的页面结构通常是什么样的
$(function(){
// show bootbox ...
})