前几天有个项目在IE9下面遇到了表单验证失败后自动提交的问题。
经过反复查找,不断简化代码。终于查到原因。
最终简化后的代码如下(原先代码有2000左右行,呵呵):
<form name="baseForm" method="post" action="/inv/do/template/pageflow/normal">
<input>
<button >ssssss</button>
</form>
在查找过程最初以为是公司复杂的代码有人加入一些错误的js代码造成了表单误提交。不过简化成这样还有问题,那自然就不是代码直接造成的了。
简化成这样后还出现了新情况,问题时有时无,呵呵,灵光一闪,IE的怪异模式和标准模式??。
其实这个问题是早该找到的,预先我就设置了两种模式的DTD测试,不过认为不是这个原因,所以马虎过去。
不罗嗦了,结论就是:
在ie9的标准模式下,类似以上代码的表单,点击button会造成表单的提交。而在怪异模式下则不会提交。
最后用我的文章标题google了一下,发现一个测试。不过他没有讲到IE的怪异模式和标准模式会 有区别。大家可以参考。
[url=http://www.iefans.net/form-biaodan-dongzuo-fanying/]
http://www.iefans.net/form-biaodan-dongzuo-fanying/
[/url]
分享到:
相关推荐
启用后,用户可以选择让IE9自动阻止频繁出现在不同网站的第三方内容,或者在“InPrivate筛选设置”中自定义阻止或允许的内容。 **三、SmartScreen筛选器** SmartScreen筛选器是IE9的一个重要安全特性,它可以识别...
在信息技术领域,与Internet Explorer(IE)浏览器进行交互是常见的需求,例如记录用户的浏览历史、分析用户行为、过滤和翻译网页内容,以及自动化填写表单。本文将深入探讨如何利用VC++编程语言,通过COM...
首先需要修改discuz模板中的头部信息,将IE浏览器的文档模式强制为IE9,以确保页面按照IE9的标准进行渲染。 - 修改`templates/header.htm`中的内容,将`<meta http-equiv="x-ua-compatible" content="ie=7" />`替换...
django-postie库的目标是将邮件系统集成到Django应用中,使用户能够通过电子邮件进行交互,比如提交表单或执行其他Web应用中的任务。 **.tar.gz文件格式** `.tar.gz`是一种常见的文件打包和压缩格式,它是`tar`...
这个工具允许开发者编写代码来模拟用户与网页的交互,如点击按钮、填写表单、导航等,对于Web应用测试和自动化工作流特别有用。 1. **ChromeDriver**:ChromeDriver是Google Chrome浏览器的特定WebDriver实现,由...
GET请求用于获取资源,POST请求常用于提交表单数据。 3. **请求配置**:在发送请求前,我们可以设置各种参数,如超时时间、重试策略、连接池等。 4. **执行请求**:使用HttpClient的`execute`方法发送请求,并得到...
在VFP中添加WebBrowser控件非常简单,只需在表单设计模式下从工具箱拖拽WebBrowser控件到表单上即可。设置控件的属性,如`Visible`来决定是否显示,`Url`来指定要加载的网页地址。 2. **响应网页按钮点击** 要...
接着,我们导航到指定的URL,找到搜索框并输入文本,提交表单,然后检查页面标题是否包含预期的文本,最后关闭浏览器。 在进行更复杂的测试时,可以使用Page Object模式来组织代码,使测试脚本更具可读性和可维护性...
控件中含有隐藏的SELECT表单控件,ID及NAME都可自定义,这样可使COMBO控件放在一个普通的表单内,用户用一般的提交方式, 也可把选中的值准确地传到后台 经测试,兼容IE6--IE8,Firefox,chrome浏览器,在非IE浏览...
自定义登陆后的参数提交,随时调用传递 强大的界面自定义功能, 内置浏览器代理,自动模拟浏览器IE、FireFox、Android自带浏览器、UC浏览器提交 强大的参数自定义添加,无限参数添加,内部各个位置随时调用 可获取...
对于更复杂的测试场景,如模拟用户登录、表单提交、模拟点击事件等,Selenium2提供了丰富的API来支持这些操作。同时,还可以结合Page Object模式,将页面结构与测试逻辑分离,提高代码的可读性和可维护性。 总之,...
# 提交登录表单 login_button = driver.find_element_by_id("login-btn") login_button.click() # 验证是否成功登录 if "Dashboard" in driver.title: print("登录成功!") else: print("登录失败!") # ...
当用户在表单中提交带有`enctype="multipart/form-data"`属性的文件输入时,Struts2会自动处理这些文件并将它们包装为`FormFile`对象。 批量文件上传的步骤如下: 1. **前端页面设计**:创建一个HTML表单,包含多...
- **表单动态操作**:自动生成表单、动态增删改下拉框元素等。 - **打印功能**:如使用打印控件。 - **事件处理**:屏蔽右键、屏蔽功能键、禁止特定快捷键。 - **网页设计元素**:如连续滚动的文字和图片、HTML编辑...
- Selenium_lesson3:表单提交,讲解如何处理表单元素,提交表单并验证结果。 - Selenium_lesson4:动态元素,涉及JavaScript加载的元素定位和等待策略。 - Selenium_lesson5:断言与异常处理,学习如何编写更...
- **自动化测试框架**:WinRunner 支持脚本驱动和数据驱动两种模式,能够满足不同场景下的自动化测试需求。 - **测试脚本语言**:WinRunner 使用基于 C 语言的 TSL (Test Scripting Language) 编写测试脚本。 - *...
通过Python的selenium库,测试人员可以编写测试用例,控制浏览器进行各种操作,如点击、输入文本、提交表单等。Python的简洁性使得脚本编写变得容易,降低了学习和使用Selenium2的难度。 3. Web自动化测试思维模式...
3. **IE模式**:设置网页的文档模式为IE8标准模式,避免Quirks模式下的兼容问题。 4. **脚本执行顺序**:确保jQuery库在Select2脚本之前加载,因为Select2依赖jQuery。 **四、高级特性** 1. **数据源绑定**:Select...
将表单与数据库中的业务表进行绑定,使得用户提交的数据能够自动存储到数据库中。 **七、优化表单风格** 通过调整样式和布局,使表单看起来更加美观且易于使用。 **八、添加提交按钮** 为表单添加提交按钮,让...
8. **TagUnit**:针对J2EE应用中的自定义JSP标签进行单元测试的框架,实现了Mock Objects模式,可在无容器环境下测试。 9. **Slimdog**:基于HttpUnit扩展的轻量级Web测试工具,使用简单脚本语言,方便创建和执行...