BUG描述:
页面是用JavaScript准备数据填写Form然后提交。然而,在IE6下通过JavaScript提交数据时页面没有反应(也没有提示)!?奇怪的是,在FireFox/Opera下面一切正常。
BUG分析:
首先:接到BUG后,先在测试机上重现了BUG,了解测试人员的操作步骤,然后在研发的机子上重现BUG。
其次:对BUG进行了跟踪。
起初认为是程序的那个地方有逻辑错误,检查代码无误。尝试用多种浏览器测试,发现在IE7/8、FireFox、Opera、360浏览器下正常,唯独IE6下不正常,
所以排除了逻辑错误这个原因;
上网搜索发现IE6下如果是用<input
type="submit"/>按钮,则能正常提交数据,若是通过JavaScript脚本:formElement.submit(),则会提交失败,网上提出了使用setTimeout()的办法来解决;
进一步深入发现, <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 class="bt_3" style="cursor:pointer;" id="btnSubmit1" onclick="submitPage()">提交</a>
这种方法根本没有href属性,用style="cursor:pointer;"
产生手型图标来模拟。
另一种方法:
<a class="bt_3" href="javascript:void(0)" id="btnSubmit1" onclick="submitPage();return false;">提交</a>
onclick 返回 false ,阻止浏览器的默认行为。也可以达到相同的目的
分享到:
相关推荐
然而,有些开发者遇到了在Chrome浏览器中`form.submit()`方法失效的问题。这个问题主要源于对Chrome浏览器特性的误解,而非Chrome本身不支持这个方法。实际上,`form.submit()`在Chrome中是完全可行的,但可能在某些...
2. **文件上传**:对于包含文件输入的表单,`jquery.form.js`提供了跨浏览器的文件上传支持,解决了IE和其他现代浏览器在处理文件上传时的兼容性问题。 3. **实时验证**:插件允许在用户填写表单时进行实时验证,...
4. 模拟提交:在某些API测试或者自动化测试中,可能会使用 `document.forms[].submit()` 来模拟用户的提交行为,测试服务器的响应。 需要注意的是,使用 `submit()` 方法时要确保对可能出现的错误和异常有足够的...
《jQuery Form插件在IE8中的兼容性及文件上传应用详解》 在Web开发中,JavaScript库jQuery以其简洁的API和强大的功能深受开发者喜爱。在处理表单提交和文件上传时,jQuery Form插件(jquery.form.js)为开发者提供...
此问题违反了非侵入式JavaScript(Unobtrusive Javascript)的编程原则,但出于特定需求(如自动补全功能),有时仍不得不使用`form.submit()`来直接提交表单。 ### 问题分析 早期的“原始”注册方式涉及两种方式,...
从内容来看,解决IE浏览器中jquery.form插件AJAX提交不工作的问题,关键在于确保响应头的Content-Type设置正确,或不明确指定该头信息以避免IE的特殊处理。此外,文章还提到了在实际开发中,对于AJAX操作的头信息和...
标题 "在IE的模式窗口中,通过表单提交到本页,并通过javascript获取提交的参数" 描述了一种常见的Web开发技术应用场景。在Internet Explorer(IE)浏览器的特定模式下,用户通过表单填写信息并提交后,这些数据通常...
4. **兼容性问题**:由于IE6/7/8等老版本浏览器存在一些特有行为或限制,因此在实现文件上传功能时需要特别注意兼容性问题。 #### 三、核心知识点详解 ##### 3.1 兼容性处理 文档中的代码示例展示了如何通过...
本文将深入探讨如何在IE和Firefox中实现文本框回车自动提交的机制,并提供详细的解决方案。 ### IE中的实现 在IE中实现文本框回车自动提交,开发者可能会遇到一些限制。默认情况下,当表单只有一个文本输入框时,...
这个问题在其他浏览器如Firefox和IE中通常不会出现。 问题的根源在于WebKit内核(包括Chrome和Safari)的浏览器为了防止用户意外或恶意地多次提交同一表单,采取了一种称为“防重复提交”的机制。这种机制会记住...
"form-request-submit-polyfill-main"是一个专门针对表单提交事件的polyfill,它旨在为不支持新特性的浏览器提供一个标准化的接口。本文将深入剖析其源码,揭示其内部工作原理。 1. **表单提交事件的标准化** 在...
在Web开发中,文件上传功能是不可或缺的一部分,而`jQuery.form`插件为开发者提供了便捷的文件上传解决方案。它结合了强大的`jQuery.js`库和`jQuery.Form.js`扩展,使文件上传变得更加简单、灵活。本篇将详细介绍...
这个行为展示了`<button>`在非IE6/7中具有的submit特性,即即使没有明确设置`type=submit`,它仍然可以作为提交按钮来使用。 在IE6和IE7中,情况有所不同。这两个旧版本的浏览器对HTML标准的支持不够完善,可能不会...
在网页开发中,表单(Form)是用户与服务器交互的重要工具,而`submit`方法和`onsubmit`事件则是表单控制的核心部分。本文将深入探讨这两个概念及其在实际应用中的注意事项。 首先,`submit()`方法是HTML表单元素的...
在网页开发中,表单提交是用户与服务器交互的关键环节,而在Internet Explorer(IE)浏览器中,使用Enter键提交表单时可能会遇到一个常见的问题——重复提交。这可能导致数据库中的数据异常,对业务逻辑造成影响。...
在VB(Visual Basic)编程中,访问一个已经打开的Internet Explorer(IE)浏览器主要是通过Microsoft Internet Controls库(也称为SHDocVw库)实现的。这个库提供了对IE浏览器对象模型的访问,允许开发者控制已存在...
然而,在某些情况下,尤其是在老版本的Internet Explorer(如IE6)中,可能会遇到jQuery的`submit`事件处理函数失效的问题。本文将深入探讨这个问题的原因,并提供有效的解决方法。 首先,让我们理解问题的根源。在...
本主题聚焦于如何使用Delphi与Internet Explorer(IE)进行交互,特别是在操作IE内容,如读取、替换表单数据以及自动提交方面。在Delphi中,这通常通过ActiveX控件实现,因为IE提供了名为`SHDocVw`的库,它包含了对...
在IE浏览器中,当使用JavaScript脚本提交表单时,可能会遇到一个问题,即浏览器无法自动保存和提示用户之前输入过的表单数据。这个问题通常不会在其他现代浏览器(如Chrome、Firefox)中出现,但对IE用户来说是一个...