一个比较奇怪 或者说是我不大懂的问题 还请大家赐教!谢谢!
我在jsp中使用struts2form标签
<s:form action="..." onsubmit="return doSub();"></s:form>
js
function doSub(){
  $.confirm('确定?',function(data){
    return true;
 })
  return false;
}
为什么我点confirm的取消时  在firefox不提交 在ie7下表单仍然要提交 如果解决!多谢各位!

解决方案 »

  1.   

    是不是$.confirm报了异常,结果onsubmit没有return值,ff不提交,ie就提交了
      

  2.   

    多谢提醒 我在firefox下调试下看
      

  3.   

    调试了下 没报错误和异常 从struts form编译成html的form 的onsubmit事件中 始终存在return true 所以ie会提交 但是firefox没提交 道理是这样了 怎么把这个return true 去掉 不提交呢~谢谢!
      

  4.   

    没装ie7 ,也没用过这个js框架$.confirm不可能影响doSub的返回值,肯定是return false
    这个方法内有没有对event的操作?删了这句试试换一下function(data){return true;}也试试$.confirm('确定?',function(data){
      return true;
    });
      

  5.   

    struts form标签转换为html标签后 就自动加了onsubmit=return true 即使你在struts 标签里没有显示写这个事件 !~
      

  6.   

    真的?这个倒是没注意那就在window.onload里覆盖form.onsubmit
    或者在button的onclick里做判断
      

  7.   


    哪个return true是给的默认,意思是如果你事件没有返回值就返回true
      

  8.   

    给了也返回true 所以才会不管怎么都会提交!后来没用这个了 绕道了~
      

  9.   

    只有把<s:form>该成原始的html<form>,而且可以发现没有了<s:form>,并不会影响其他表单元素(如:<s:textfield>,<s:select),原始的<form>不会自动加上return true