[HTML] 关于表单提交的诡异现象
2010-01-07 15:35
211 查看
首先,我们来看下如下的代码:
这个页面里有两个表单,一个id为baidu,一个id为google,google表单里有一个input标签的onKeyUp的事件是提交了id为
baidu的表单。
预期结果: 跳转到百度的页面
实际结果:跳转到google页面
接着我们再来做个实验:
看如下代码:
预期结果: 跳转到百度的页面
实际结果:跳转到百度的页面
这是为什么?
经过多番尝试得出了以下结论:
当全部满足以下条件的时候,
页面有两个ID不一样的表单,分别为A,B
A表单里有且只有一个type 不为hidden 的input 标签D
D的onKeyDown , onKeyUp 和onKeyPress三个事件中的任何一个用document.getElementById().submit()方法去提交另一个表单B
就会出现提交的表单是A
个人觉得是: javascript 把这个事件处理成了表单的提交
注,IE7不具有这种特性
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> <FORM METHOD=POST ACTION="http://www.baidu.com" id="baidu" name="baidu"> </FORM> <FORM METHOD=POST ACTION="http://g.cn" id="google"> <INPUT onKeyUp="document.getElementById('baidu').submit();" type="text" /> <br/> </FORM> </BODY> </HTML>
这个页面里有两个表单,一个id为baidu,一个id为google,google表单里有一个input标签的onKeyUp的事件是提交了id为
baidu的表单。
预期结果: 跳转到百度的页面
实际结果:跳转到google页面
接着我们再来做个实验:
看如下代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> <FORM METHOD=POST ACTION="http://www.baidu.com" id="baidu" name="baidu"> </FORM> <FORM METHOD=POST ACTION="http://g.cn" id="google"> <INPUT onKeyUp="document.getElementById('baidu').submit();" type="text" /> <br/> <INPUT onKeyUp="document.getElementById('baidu').submit();" type="text" /> <br/> </FORM> </BODY> </HTML>
预期结果: 跳转到百度的页面
实际结果:跳转到百度的页面
这是为什么?
经过多番尝试得出了以下结论:
当全部满足以下条件的时候,
页面有两个ID不一样的表单,分别为A,B
A表单里有且只有一个type 不为hidden 的input 标签D
D的onKeyDown , onKeyUp 和onKeyPress三个事件中的任何一个用document.getElementById().submit()方法去提交另一个表单B
就会出现提交的表单是A
个人觉得是: javascript 把这个事件处理成了表单的提交
注,IE7不具有这种特性
相关文章推荐
- 关于HTMLdeform表单提交onclick和onsubmit
- 关于C++使用libcurl提交表单方式上传文件时提交表单参数[同HTML表单]
- 记忆碎片---关于html静态页面提交表单保存至数据库
- HTML中关于表单的提交
- HTML中关于表单的提交和输入的值是否为空
- 关于HTML表单中出现双重提交的问题!
- 关于提交表单的HTML小程序
- 碰到诡异问题,求助大能解答,关于表单提交大文件无限数据提交问题
- html基础-表单控件、密码框、单选按钮、复选框、多行文本框、下拉列表、按钮(提交、图片、重置)
- PHP关于表单提交 后 post get分页
- 关于google浏览器有时莫名自动提交表单的问题
- javascript 提取表单元素生成用于提交的对象(序列化 html 表单)
- 闲话多提交按钮HTML表单
- HTML from 表单提交请求到servlet 实例
- html中提交表单并实现不跳转页面处理返回值
- 关于django提交表单错误的解决办法
- php过滤表单提交的html等危险代码
- 关于表单重复提交的问题
- 关于bootstrapValidator 表单校验remote出现两次重复提交才能验证通过问题处理
- HTML页面防止input回车造成提交表单