我正在开发一个弹簧MVC应用程序,最近我开发了工作订单拒绝功能,拒绝了工作订单,我在操作列中提供了功能...已批准和待处理的工单可以永久弹出,现在我正在使用氙主题模板,我提供了在iframe中打开的页面,我希望它在父窗口中重定向,而不是在iframe中打开相同的内容。
伙计们,我得到了R& D的解决方案,感谢大家的快速回复.. 现在我面临一个非常小的问题。 我所拥有的解决方案,可以达到我的预期。 请参阅JSP的更新源代码
<f:form action="${baseUrl}save_reject_status/${woSpIdEnc}" method="post" command="WorkOrderSp" id="workOrder" class="form-wizard validate" onsubmit="manageService()">
<input type="hidden" name="woSpIdEnc"/>
<div class="form-group">
<label class="col-sm-2 control-label" for="field-5" style=" margin-top: 23px;">Remark<span style="color:#D50000">*</span></label>
<div class="col-sm-12">
<f:textarea path="rejectRemark" class="form-control autogrow" cols="5" id="field-5" required="required" placeholder="Let us know the reason behind rejection" style="margin-bottom:12px; height: 200px" />
</div>
<div class="panel-footer" style="height:320px;">
<input type="submit" class="btn btn-danger pull-left no-margin" id="saveBtn" value="Reject Work Order" onclick="return confirm('Are you sure to Verify the Contractor.');">
</div>
</div>
</f:form>
<script>function manageService() {
window.top.location.href = '../detail';
parent.$.colorbox.close();
return true;
}
</script>
现在它执行所有必需的操作,它关闭iframe以及它也登陆同一页面。但是工作顺序不会在第一次被删除。 我再次表演同样的工作! 有时需要3个步骤来实现相同的目标。 我想让它在单发中表演。
答案 0 :(得分:0)
您可以使用以下脚本从iframe
指向父页面<a onclick="redirect(baseUrl + 'reject/' + rowData.woSpIdEnc)" data-placement="top" data-toggle="tooltip" title="Click here to reject work order" class="iframe" id="rejectId"><i class="fa fa-close"></i></a>
<script>
function redirect(url){
window.top.location.href = url;
}
</script>
答案 1 :(得分:0)
试试这个..
<input type="button" name="submit" onclick="closeme()">
<script>
function closeme()
{
opener.location.reload(true);
self.close();
}
</script>
答案 2 :(得分:0)
使用基本HTML target
属性,_top
值和onclick
布尔返回值。
<html>
<body>
<script type="text/javascript" charset="utf-8">
function closeCurrentFrame(){
/**
Do necessary logic to close your frame
**/
return true;
}
</script>
<a href="http://google.com" target="_top" onclick="return closeCurrentFrame();">
Open on top window
</a>
</body>
</html>
在这种情况下,如果closeCurrentFrame()
调用返回true,则页面将重定向。如果为false,则命令将停止。
这里是一个直接的例子,仅用于演示目的:
<html>
<body>
`<a href="http://google.com" target="_top" onclick="return true;">Will be redirected because return is true</a>`
`<a href="http://google.com" target="_top" onclick="return false;">Will not be redirected because return is false</a>`
</body>
</html>
检查<a>
标记的更多信息以及_top
属性的可能值(_blank
,_self
,_parent
,target
) :
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a
答案 3 :(得分:0)
在彩盒上执行close()
操作后运行的解决方案是使用onClose
处理程序。
在这种情况下,您可以尝试以下事件处理回调:
<html>
<body>
<script type="text/javascript" charset="utf-8">
function closeCurrentFrame(redirectUrl){
parent.$.colorbox.onClose = function(){
window.top.location = redirectUrl;
};
parent.$.colorbox.close();
}
</script>
<a href="http://google.com" target="_top" onclick="closeCurrentFrame(this.href);">Open on top window</a>
</body>
</html>
首先,它为onClosed事件注册一个回调,该事件将重定向到最顶层的窗口(window.top
)。
然后,执行close()
操作。
记录在Colorbox page,回调部分。