更新了iframe的重定向,即父窗口

时间:2018-01-09 06:10:58

标签: javascript jquery html jsp iframe

我正在开发一个弹簧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个步骤来实现相同的目标。 我想让它在单发中表演。

4 个答案:

答案 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_parenttarget) : 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回调部分。