论坛首页 入门技术论坛

[BUG]Struts2,<s:submit>在type="button"情况下多action不正常

浏览 6699 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-05-06  
在Struts2下,使用<s:submit> 标签的时候,如果设置type="button",并且在一个Form中有多个submit按钮,调用多个action或者后台action的方法的时候,不正常。
<s:form id="myform" action="BizAction"  namespace="/demo">
<s:submit id="yyy" action="BizAction!saveother" value="SaveOther" type="button"></s:submit>
<s:submit id="ggg1" action="BizAction!save" value="Save" type="button"></s:submit>
</s:form>

如上代码应该是分别调用save和saveother方法,但是在IE下,总是调用第一次按得按钮调用的方法。在FF下是正常的。
不知道怎么解决,主要是想要button类型的html render的结果。

google了一下,有下面一个链接:
http://www.mail-archive.com/user@struts.apache.org/msg64169.html
好像也没有解决。

大家有解决办法吗?
   发表时间:2008-05-06  
FORM里别加ACTION,把BUTTON的TYPE改成BUTTON,在JS中写ACTION如:
if(){
  form.action="-------";
  form.submit;
}else{
  dosomething;
}
0 请登录后投票
   发表时间:2009-02-06  
解决方案:用javascript控制button的disabled属性
原理:
有两个按钮,当点击按钮一时,将另一个按钮的disabled属性变为true,此时表单就会提交按钮一的action了

具体参考代码如下:
<script>
function beforeSubmit(id){
var a=document.getElementById(id);
a.disabled=true;
}
</script>
……………………

<s:submit type="button" onclick="beforeSubmit('a1')" id="a2" value="submit" action="xxxx_method1"></s:submit>
<s:submit type="button" onclick="beforeSubmit('a2')" id="a1" value="save" action="xxxx_method2"></s:submit>
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics