2014-09-19 108 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打开窗口。