解决IE6中A标签提交表单的办法

产生原因:A标签有个链接属性 href , 而form也有一个页面请求属性 action, 当两属性同时存在时, 点击A标签当然会优先A标签的

href链接。
但如果是 <a href="javascript:void(0);" ></a>, IE7 ,IE8 , FF 均能正确处理, 忽略A标签的href, 执行表单的submit动作, 
唯有 IE6 仍坚持着自己的原则, 只要有 href , 就只尝试执行链接 href , 除非你的A标签标签中去掉 href属性, 
但去掉 href 你将发现IE下将不会出现下划线。
Html代码1.<a href="javascript:void(0);" class="reg_submit" id="asubmit" οnclick="if(!validate()){return false;}else{document.getElementById("regfrm").submit();}">提交</a>,
其中validate() 是自定义的一个函数,用于验证表单。
三种解决方法:
 
第一种方法:Html代码 1.<a href="javascript:void(0);"  style="cursor:pointer;" class="reg_submit" id="asubmit" οnclick="if(!validate()){return false;}else{document.getElementById("regfrm").submit();}">提交</a>,这种方法根本没有href属性,用style="cursor:pointer;" 产生手型图标来模拟。 第二种方法:Html代码 1.<a href="javascript:void(0);" class="reg_submit" id="asubmit" οnclick="if(!validate()){return false;}else{document.getElementById("regfrm").submit();return false;}">提交</a>,onclick 返回 false ,阻止浏览器的默认行为,也可以达到相同的目的。
第三种方法:Html代码1.<a href="javascript:void(0);" class="reg_submit" id="asubmit">提交</a>。window.onload = function() {   
 document.getElementById("asubmit").onclick = function() {
 setTimeout(function() {if(!validate()){return false;}else{document.getElementById("regfrm").submit();return true;}}, 0);
    }
}

 加载提交表单方法 ,在submit()前先等一下,让出处理时间。


转自:http://hi.baidu.com/l_rigidity/item/6efadbdb8cd58bed54347f36



a标签提交在onclick函数后加上 return false;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值