A标签下无法提交表单

有些时候为了能满足界面设计的需要,很多情况下大家会使用A标签来模拟提交按钮。为了防止a标签默认事件的触发,部分童鞋会写成这样:

  1. <a href="javascript:void(0);">提交</a>

然后通过JS代码去监听用户的鼠标事件,在大部分浏览器中该方法都可以正常执行,唯独在IE6的时候只有死翘翘~ 包括使用jquery都会出问题。这个是什么原因呢?该如何解决?

好了,西林我现在告诉大家如何解决这个问题。首先我们要先分析原因,然后再根据原因进行处理。

原因:dom本身的冒泡事件会最后执行href属性内的javascript:void(0)即不需要执行任何事件导致的。也就是说是javascript:void阻止了a标签的浏览器默认事件。

解决方案:

1、在标签内写入事件,并在事件后加入”return false”,来阻止默认行为,也就是不会去使用执行href里的代码。代码如下:

  1. <a onclick="javascript:sb();return false;" href="javascript:void(0)">提交</a>;

2、将a标签的属性href的值改为“#”,同样达到上面的效果.代码如下:

  1. <a id="submits" href="#">提交</a>
  1. //Jquery 代码
  2. $("#submits").live("click",funtion(){
  3. $("form").submit();//触发目标表单的提交事件
  4. });

3、直接将被执行的函数写入到href属性中去,如下:

  1. <a href="javascript:sb();">提交</a>


发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

无觅相关文章插件,快速提升流量