提交表單到新的窗口,只顯示一個窗口

          今天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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章