ExtJs 拆分按钮菜单 - 在新选项卡中打开
ExtJs Splitbutton menu - Open in a new tab
我有一个 ExtJs
(ExtJs 4.2) 拆分按钮,它向下下拉,为我提供了几个我选择的选项。每个选项都根据我的业务逻辑重定向。
我的问题是:当我右键单击其中一个选项并单击在新选项卡中打开时,同一页面将在新选项卡中打开,并在同一 URL 的末尾附加"#"。如何使其正常工作?谢谢。
我的 ExtJs 代码 -
Ext.onReady(function () {
var but = new Ext.FormPanel({
items: [{
xtype: 'splitbutton',
text: 'Choose an action',
width: 250,
scale: 'medium',
rowspan: 2,
renderTo: Ext.getBody(),
margin: '5 15 15 510',
border: true,
handler: function () {
Ext.Msg.alert('<center><br/>Select an option from drop down menu!<center>');
},
menu: [{
text: 'Create Student Record',
anchor: '100%',
handler: function () {
but.getForm().doAction('standardsubmit', {
target: '<_s></_s>elf',
method: 'POST',
standardSubmit: true,
formBind: true,
url: 'createrecord.jsp'
})
}
}, {
text: 'Create Class Details',
anchor: '100%',
handler: function () {
but.getForm().doAction('standardsubmit', {
target: '_self',
method: 'POST',
standardSubmit: true,
formBind: true,
url: 'classrecord.jsp'
})
}
}]
});
Ext.create('Ext.Button', {
text: 'Logout',
margin: '-85 10 10 1200',
scale: 'medium',
renderTo: Ext.getBody(),
handler: function () {
but.getForm().doAction('standardsubmit', {
target: '_self',
method: 'POST',
standardSubmit: true,
url: 'LogoutServlet'
})
}
});
});
据我所知,你实际上不能。
在新选项卡中打开显示在菜单中的原因是菜单项呈现为链接(<a>
),浏览器负责该行为。但是您没有普通的链接,而是附加了 JS 处理程序的链接。当您单击一个默认行为时,您将使用表单执行一些 POST 请求。当您单击"在新选项卡中打开"时,JS将无法正常工作,您真的无法对此做任何事情。
您可以做的是通过在菜单项而不是 POST 中提供href
来使用 GET 请求并摆脱表单。然后它就会起作用。
相关文章:
- 如何在不需要单击按钮的情况下获取选项的值
- 单击按钮即可在浏览器的新选项卡中打开 Sapui5 详细信息页面
- 复选框/单选按钮-添加所选项目的总价
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 更新:仅根据单选按钮和所选选项选择特定项目
- 如何在ASP.NET中单击按钮后激活启动选项卡
- 关于&从win8 RC转换为win8 RTM后,首选项弹出按钮为空
- 单击按钮进入下一个选项卡,而不是单击选项卡
- Angular:如何使用ngRepeat并设置默认单选按钮选项
- 如何更改单击按钮时的javascript滑块选项
- Ajax在使用onclick选项时无法处理HTML表单中的提交按钮
- 隐藏结账按钮,直到选择发货选项
- 如何将每个选项按钮与其自己的单个标记相关联
- IE9 问题:动态创建(通过 innerHTML)选项按钮和复选框不起作用
- 禁用javasscript中的选项/按钮
- “刷卡back"在离子项目后,点击离子选项按钮
- Bootstrap插件创建选项按钮与任意js
- 如何制作交互式选项按钮
- 使用javascript函数在url执行下拉选项/按钮
- 如何让浏览器“保存图像为”选项按钮