`
yuming.xiao
  • 浏览: 19782 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

关于IE6下A标签提交表单,引发事件冲突的问题

 
阅读更多

我们都知道可以使用 [form].submit(); 来动态提交表单, 但使用点击<a>标签来提交表单, 会出现什么情况呢? 我们都知道,<a>有个链接属性 href, form也有一个页面请求属性 action,当两属性同时存在时,点击<a>当然会优先<a>href链接。

但如果是<a href=”javascript:void(0);”></a>时,又会是什么情况呢? 实践证明IE7.0+ , FF3.0+, Opera9.6+ 均能正确处理, 忽略<a/>href, 执行表单的submit动作, 唯有 IE6 仍坚持着自己的原则, 只要有 href , 就只尝试执行链接 href , 除非你的<a/>标签中去掉 href属性, 但去掉 href 你将发现IE 下将不会出现下划线...

为解决这个问题,一下是测试代码:你可以拷贝自己电脑,新建一个HTML页面自己看下他们的区别:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>慎用A标签提交表单 IE6事件冲突问题</title>
</head>
<p>
<h4>IE6下的代码测试:</h4>
<form method='get'  action="www.baidu.com">
<input value='' name='kw'/>
</form>
<a id="IE6submit" style="color:#333" >IE6提交</a>
</p>
<p>
<h4>IE7下的代码测试:</h4>
<form method='get' action="www.google.cn">
<input value='' name='kw1'/>
</form>
<a id="IE7submit" href="javascript:void(0);" style="color:#333" >IE7提交</a>
</p>

<script type="text/javascript">
document.getElementById('IE6submit').onclick = function(){
document.forms[0].submit();
}
document.getElementById("IE7submit").onclick=function(){
document.forms[1].submit();
}
</script>
</head>
<body>

 

 

分享到:
评论

相关推荐

    在IE的模式窗口中,通过表单提交到本页,并通过javascript获取提交的参数

    标题 "在IE的模式窗口中,通过表单提交到本页,并通过javascript获取提交的参数" 描述了一种常见的Web开发技术应用场景。在Internet Explorer(IE)浏览器的特定模式下,用户通过表单填写信息并提交后,这些数据通常...

    .net 后台提交表单并返回结果

    在这个过程中,`a.aspx`页面作为客户端表单的发起者,通过POST或GET方法将数据提交到`b.aspx`页面进行处理,然后`b.aspx`根据接收到的数据进行业务逻辑操作,并可能返回相应的结果给用户。 1. **HTML表单(Form)**...

    防止Layui form表单重复提交的实现方法

    在使用Layui设计表单时,经常会遇到表单提交后页面刷新导致的重复提交问题。为了解决这个问题,开发者需要确保表单只提交一次,防止不必要的数据重复处理或者服务器的重复计算。下面详细解释几种防止Layui表单重复...

    表单重复提交问题1

    标签"doc文档"暗示我们可能正在查看一个关于如何解决此问题的技术文档或教程。 在提供的部分代码中,我们看到了两种可能的处理方式: 1. 使用`RequestDispatcher.forward()`方法: `req.getRequestDispatcher("/...

    js实现定时提交表单

    // 或者,阻止表单的默认提交事件(需要在表单的submit事件处理函数中) document.getElementById('yourFormId').addEventListener('submit', function(event) { event.preventDefault(); // 阻止提交 }); ``` ...

    IE 下Enter提交表单存在重复提交问题的解决方法

    但在IE中,如果表单没有明确指定提交按钮或者有多个提交按钮,按下Enter键可能会导致表单被连续提交两次,从而引发重复数据的插入。 解决这个问题的第一种方法是在调用`submit()`方法后添加`return false;`。这是一...

    jquery A标签onclick事件

    ### jQuery 下 A 标签 onclick 事件处理 在前端开发中,经常需要为页面中的元素绑定事件处理函数,其中 `onclick` 事件是最常见的交互方式之一。jQuery 是一个流行的 JavaScript 库,它提供了简单易用的方法来处理...

    自定义标签防止表单重复提交

    在Web开发中,表单重复提交是一个常见的问题,可能导致数据不一致或服务器资源浪费。本文将深入探讨如何通过自定义标签来防止表单的重复提交,以确保数据的一致性和系统的稳定性。 首先,理解表单重复提交的问题。...

    js提交表单的三种方式

    在JavaScript中,提交表单是网页交互中的常见操作,它允许用户输入数据并将其发送到服务器进行处理。这里我们将详细探讨三种主要的表单提交方式:默认的HTML表单提交、JavaScript事件处理以及Ajax异步提交。 1. **...

    VB6利用webbrower控件自动填写并提交表单.rar

     本程序中完成提交的方法提供两种,直接提交表单和点击登录按钮提交,还有第三种方法填表完成后直接用WebBrowser1.Document.Forms("login").Submit,如果您安装的是IE7,在VB开发环境下运行可能会遇到莫名其妙的...

    利用ajax提交表单完整流程

    在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术是不可或缺的一部分,它允许我们在不刷新整个页面的情况下与服务器进行异步数据交换。本文将详细介绍如何利用AJAX提交表单的完整流程,以实现更加流畅...

    js实现a标签超链接提交form表单的方法

    然而,如果开发者希望通过a标签来提交表单,可以通过为a标签添加`onclick`事件或者使用JavaScript代码调用`submit`方法来实现。 本篇内容提供了三种a标签实现提交form的方法: 1. 使用`onclick`属性配合JavaScript...

    javascript方式防止表单重复提交

    6. **利用表单事件**:监听`beforeunload`或`unload`事件,确保在页面卸载前清理存储的状态,避免影响下一次访问。 7. **结合服务器端验证**:虽然JavaScript可以提供即时反馈,但仅依赖客户端的防护是不够的,还...

    JS提交form表单实例分析

    本文实例讲述了JS提交form表单。分享给大家供大家参考,具体如下: 一、javascript 页面加裁时自动提交表单: Form表单: &lt;form method="post" id="myform" action="a.php"&gt; &lt;input type="submit" value=...

    解决layui中的form表单与button的点击事件冲突问题

    然而,在实际使用中,有时会出现一些意料之外的问题,例如本文提到的 "layui 中的 form 表单与 button 的点击事件冲突问题"。 当 layui 的 form 表单元素与 button 元素位置重合时,可能会导致 button 的 click ...

    说说回车键触发表单提交的问题

    回车键触发表单提交是一个常见的功能,但有时它可能会带来一些问题或需要进行特定的处理。本文将深入探讨回车键如何触发表单提交,以及在实际应用中可能遇到的相关知识点。 首先,我们需要理解HTML表单的基本结构。...

    javascript弹出层表单提交代码

    JavaScript弹出层表单提交是一种常见的用户交互设计,它允许用户在不离开当前页面的情况下填写并提交表单数据。这种技术常用于网站的登录、注册、评论或编辑功能,提供了良好的用户体验,因为用户无需跳转到新页面...

    C# post方式提交Form表单

    本篇文章将深入探讨如何使用C#实现POST方式提交Form表单,这对于网络应用程序的开发至关重要,因为它允许我们向服务器发送数据,比如登录、注册、提交表单等操作。 1. **HTTP POST方法**: HTTP协议提供了两种主要...

    按回车键提交表单~~~~~

    通过上述分析,我们可以看到如何使用JavaScript处理键盘事件以实现在用户按下回车键时提交表单的功能。此外,还讨论了兼容性问题以及如何优化代码以适应不同的浏览器环境。这对于Web开发者来说是非常重要的知识点之...

Global site tag (gtag.js) - Google Analytics