IE6中Form.submit提交后跳不到jsp页面

BUG描述:
 查询结果的列表页面中有个修改功能,是用JavaScript准备数据填写Form然后提交。
 然而,在IE6下通过JavaScript提交数据后,进入后台Controller,
 但跳转不到指定的jsp页面(这里指当前编辑页面),
 奇怪的是,在IE8下面一切正常

BUG分析:
首先:接到BUG后,先在测试机上重现了BUG,了解测试人员的操作步骤,然后在研发的机子上重现BUG。

次:对BUG进行了跟踪
起初认为是程序的那个地方有逻辑错误或后台java代码有错,debug调试并检查代码无误。
尝试用多种浏览器测试,发现在IE7/8下正常,唯独IE6下不正常, 所以排除了java代码逻辑错误这个原因;
上网搜索,进一步深入发现, <a/>有个链接属性 href , 而form也有一个页面请求属性 action,
当两属性同时存在时, 点击<a/>当然会优先<a/>的href链接,但如果是 <a href=”javascript:;” ></a>,
又会是什么情况呢? 实践证明IE7.0+ , FF3.0+, Opera9.6+ 均能正确处理, 忽略<a/>的href,
执行表单的submit动作, 唯有 IE6 仍坚持着自己的原则, 只要有href , 就只尝试执行链接 href ,
除非你的<a/>标签中去掉 href属性, 但去掉 href 你将发现IE 下将不会出现下划线;
看来是因为 ie6 执行默认动作引起来,目前两种解决方法:
第一种方法:

<a style=”cursor:pointer;” id=”btnSubmit1″ οnclick=”deleteQwap(‘${qwapBean.qwdbh}”>提交</a>

 
这种方法根本没有href属性,用style=”cursor:pointer;” 产生手型图标来模拟。
另一种方法:

<a  href=”javascript:void(0)”  id=”btnSubmit1″ οnclick=”deleteQwap(‘${qwapBean.qwdbh}’); return false;”>删除</a>

 onclick 返回 false ,阻止浏览器的默认行为。也可以达到相同的目的

 参照 http://kongxl.sinaapp.com/?p=465

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值