2014-09-19 122 views
0

要求是當我點擊其中一個頁面選項卡時,jsp頁面應該在新窗口中打開。 下面是JS代碼來創建標籤:打開一個新的窗口點擊子菜單項

menu.js

 var mySubMenu = new DropDownMenu({}); 
     mySubMenu.addChild(new MenuItem({ 
      label: "Show Data", 
      onClick:function(){"<a href=\"<%=request.getContextPath()%>/jsp/showData.jsp target=_blank>";} 

     })); 
     mySubMenu.addChild(new MenuItem({ 
      label: "Display Log", 
      onClick:function(){window.location.href=contextPath+"/jsp/displayLog.jsp"} 

     })); 

     pMenuBar.addChild(new PopupMenuBarItem({ 
      label: "| Help", 
      popup: mySubMenu 
     })); 

showData.jsp

<html> 
<head> 
    <script type="text/javascript" src="/myApplication/js/menu.js"></script> 
</head> 
<body><form> 
Some Text Here</form></body> 

請糾正我哪裏做錯了,因爲當我點擊查看數據選項卡在網頁上看不到任何行爲。我想在新窗口中打開showData.jsp,當我點擊顯示數據選項卡。我不想在同一頁面中打開,應該在標籤頁上打開一個新窗口。謝謝。

+0

可能重複的[點擊一個鏈接在新窗口打開一個新頁面](http://stackoverflow.com/questions/2620765/open-a-new-page-on-click-of-a-link -on-new-window) – APerson 2014-09-19 16:18:35

+0

你能幫我翻譯HTML(JSP)部分嗎?並描述這些JS原型函數是如何被調用的? – tmarwen 2014-09-19 16:21:06

+0

@tmarwen - 請參閱上面的帖子,包括代碼。 – user3684675 2014-09-19 16:33:13

回答

0

單擊'showData'(無效)時,您正在返回一個字符串。相反,你需要執行JS跟你一樣的顯示日誌做:

 mySubMenu.addChild(new MenuItem({ 
     label: "Show Data", 
     onClick:function(){ 
      //"<a href=\"<%=request.getContextPath()%>/jsp/showData.jsp target=_blank>"; 
      window.open("<%=request.getContextPath()%>/jsp/showData.jsp"); 
     } 

    })); 

你可以配置你正在努力基礎上, window.open docs打開窗口。