提交表单到新的窗口,只显示一个窗口

          今天leader 给了个bug对应,说是帮助界面要单独弹出一个窗口显示,不能在原来的界面显示。

        后来又追加说,点击帮助按钮只能弹出一个窗口,不能每一次都弹出一个,应为iphone只能支持8个窗口,再多就不能显示了。

        第一感觉,弹窗口显示,不在同一个窗口显示,那肯定要加target了,下面就是实施了。

        首先,现状是帮助为一个button,点击后提交表单。也就是说需要将表单提交后在一个新的单例的窗口显示。

        直接用window.open 打开一个空白窗口window.open('about:blank','HELP_COMMON');,将窗口的名字命名为HELP_COMMON。然后将当前form的target改成刚才打开的那个窗口,代码: this.form.target='HELP_COMMON'  。  因为是同一个from中的 ,所以可以直接用this.form获得form对象。代码如下:

<p><input type="submit" name="navi" value="help" class="btnSubmitBlueHalf" οnclick="window.open('about:blank','HELP_COMMON'); this.form.target='HELP_COMMON'" /></p>

      因为是submit所以处理完js后,会直接提交,如果是type='button' 要自己提交form

     

     以上是共同的部分,还有一些是特殊的,是链接形式的 help ,修改也大概差不多

   <html:link page="/navi.do" paramId="<%=MobileScreenIDConstants.SCREEN_ID_NAME %>" paramName="SCREEN_ID_NAME" styleClass="centering_footer" οnclick="window.open('about:blank','HELP_COMMON');this.target='HELP_COMMON'"> help</html:link>

这样参数依旧可以传过去。

一个现象是没有window.open('about:blank','HELP_COMMON')这一句话,仍能按照期望的效果显示。

而submit提交 的情况 没有实验,不知是否也存在这样的情况。偶是js菜鸟不想深究。


还看到一种提交表单到 新界面的 代码

chartForm.target = "newWindow";
var win = window.open("about:blank","newWindow","height=650,width=1000,scrollbars=yes,status=yes,toolbar=no,menubar=no,location=no");
win.focus();

chartForm.submit();

没有实践,仅供参考

    

        

http://221.199.150.103/jsj/html/page/book/js/h_target.htm


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值