Robin's Programming World
I Love Programming As My Life!
BlogJava
首页
新随笔
联系
聚合
管理
随笔-193 评论-715 文章-1 trackbacks-0
关于HTML中onSubmit属性的触发时机
本Blog所有内容不得随意转载,版权属于作者所有。如需转载请与作者联系(
fastzch@163.com
)。
未经许可的转载,本人保留一切法律权益。
一直以来,发现有某些人完全不尊重我的劳动成果,随意转载,提醒一下那些人小心哪天惹上官司。
今天同事一大早问我一个他觉得比较奇怪的问题:form的onsubmit属性中的方法在提交时为什么没反应?经过了解发现状况如下:
他写的页面中form有onsubmit属性,并指定了一个javascript函数,期望form在提交前执行这个函数,以处理一些检查等动作,但form的提交并不是像我们通常使用的input:submit这样的button去做的,而是用一个普通input:button,在onclick属性中指定了一个javascript函数,在这个函数里面再执行form的submit()函数。
示意代码如下:
<!
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.0 Transitional//EN
"
>
<
HTML
>
<
HEAD
>
<
script language
=
"
javascript
"
>
function
t()
{
var
f
=
document.getElementById(
"
f
"
);
f.submit();
alert('
333
');
}
</
script
>
</
HEAD
>
<
BODY
>
<
form id
=
"
f
"
onsubmit
=
"
alert('2222');
"
>
<
input type
=
"
button
"
value
=
"
button
"
onclick
=
"
t();
"
/>
</
form
>
</
BODY
>
</
HTML
>
此时,页面弹出了“333”的提示,但没有弹出“2222”的提示。
分析了一下原因:onsubmit属性的触发时机是在form用input:submit这样的button提交时才会触发,否则不会触发。
后来,在官方文档上也找到了如下说明,证明了我的这一分析,如下:
The submit method does not invoke the onsubmit event handler. Call the onsubmit event handler directly. When using Microsoft® Internet Explorer
5.5
and later, you can call the fireEvent method
with
a value of onsubmit
in
the sEvent parameter.
为了证实这一分析,我做了一个完整的测试:
<!
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.0 Transitional//EN
"
>
<
HTML
>
<
HEAD
>
<
script language
=
"
javascript
"
>
function
t()
{
var
f
=
document.getElementById(
"
f
"
);
f.submit();
alert('
333
');
}
</
script
>
</
HEAD
>
<
BODY
>
<
form id
=
"
f
"
onsubmit
=
"
alert('2222');
"
>
<
input type
=
"
submit
"
value
=
"
submit
"
/>
<
input type
=
"
button
"
value
=
"
button
"
onclick
=
"
t();
"
/>
</
form
>
</
BODY
>
</
HTML
>
点击submit按钮即可出现“2222”提示,点击button的话,会出现“333”提示。
posted on 2008-10-24 11:33
Robin's Programming World
阅读(5510)
评论(14)
编辑
收藏
所属分类:
其它
评论:
#
re: 关于HTML中onSubmit属性的触发时机 2008-10-24 20:58 |
007
sb....
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机[未登录] 2008-10-24 21:03 |
ssh
你前面那短话,真让人恶心,几篇破文章就这,谦虚一点好吧。能看你的文章是看的起你,不行了就洗洗睡觉。
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机 2008-10-25 11:35 |
akuli
看到你第一段话,以为有多高深的东西,结果让人非常失望!!!
别人觉得你的文章好才会转载,既然你不想让人转载就不要放到网上来!!!
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机[未登录] 2008-10-25 18:43 |
hi
情况确实如此,要解决这个问题可以模拟submit事件。
在Brocade脚本库里有实现,调用Form.submit(form)方法。
http://brocade.sf.net
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机 2008-10-25 19:12 |
CowNew开源团队
“能看你的文章是看的起你”
流氓,暴民
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机 2008-10-25 21:36 |
Robin's Java World
@CowNew开源团队
像这种人最有效的办法就是不理他,对没素质的人不理会。
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机 2008-10-25 21:36 |
Robin's Java World
@hi
Brocade是个不错的东东,谢谢推荐!
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机 2008-10-27 11:32 |
temper
@ssh
这也太无耻了吧?我真怀疑哪个公司敢用有这种思想的人。
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机[未登录] 2009-03-23 11:29 |
林
@akuli
支持!
博主请三思!
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机[未登录] 2009-08-16 17:30 |
哈哈
真恶心,我还以为喽猪有什么高见,一看原来是当宝贝的垃圾!!
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机 2009-09-07 12:43 |
niba
真恶心,我还以为喽猪有什么高见,一看原来是当宝贝的垃圾!!
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机 2011-08-01 19:07 |
tt
艹 ,怎么没说怎么解决的方法
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机 2012-08-18 22:34 |
zzz
说的挺好。。
回复
更多评论
#
re: 关于HTML中onSubmit属性的触发时机[未登录]
2013-02-06 12:21 |
aa
说了半天, 还不是没解决问题么? 以为您有多牛逼。
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
Hybrid开发资源网站汇总
XCode Plugins Package Manager
Phonegap Debug Note
首个iOS App终于提交了
MongoDB install notes on Mac:
永久恢复联通 iPhone4 的 YouTube
[转]自定义UITableView
【转】Xcode分析CrashLog的方法
[转]Samsung EPIC 4G ADB/USB无法连接的问题
[转]教你如何做主管——MTP培训心得
<
2008年10月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(49)
给我留言
查看公开留言
查看私人留言
随笔分类
(215)
.Net(1)
DB(8)
Flex & Flash(11)
Java(72)
OS(25)
RUP(1)
weblogic(3)
Webshere(16)
其它(50)
心情(2)
翻译(1)
读书(9)
转载(16)
随笔档案
(181)
2014年8月 (1)
2014年4月 (1)
2014年2月 (2)
2014年1月 (1)
2012年11月 (1)
2012年9月 (2)
2012年7月 (1)
2012年6月 (3)
2012年1月 (2)
2011年12月 (4)
2011年10月 (1)
2011年8月 (3)
2011年7月 (2)
2011年4月 (1)
2010年11月 (2)
2010年10月 (1)
2010年9月 (2)
2010年8月 (5)
2010年7月 (1)
2010年5月 (2)
2010年4月 (7)
2010年3月 (7)
2009年12月 (6)
2009年10月 (1)
2009年9月 (1)
2009年8月 (2)
2009年6月 (3)
2009年5月 (2)
2009年4月 (2)
2009年2月 (3)
2009年1月 (4)
2008年11月 (1)
2008年10月 (2)
2008年9月 (9)
2008年8月 (4)
2008年7月 (5)
2008年5月 (2)
2008年4月 (1)
2008年3月 (3)
2008年2月 (1)
2008年1月 (7)
2007年12月 (6)
2007年11月 (6)
2007年10月 (3)
2007年9月 (1)
2007年8月 (6)
2007年7月 (4)
2007年6月 (2)
2007年5月 (3)
2007年3月 (1)
2007年2月 (1)
2007年1月 (3)
2006年12月 (7)
2006年10月 (1)
2006年8月 (3)
2006年7月 (1)
2006年6月 (5)
2006年4月 (6)
2006年3月 (2)
2006年2月 (3)
2006年1月 (1)
2005年11月 (5)
相册
文章相关图片
收藏夹
other
Friend Links
Tiger's Space
Tiger的Blog,专注于过程改进,项目管理,质量管理三个方向。
zrfunds
搜索
积分与排名
积分 - 751504
排名 - 60
最新评论
1. re: XFire完整入门教程
楼主,请问你做过xfire使用spring的jdbc模板访问数据库的例子吗,急求啊?xfire和spring的结合在不访问数据库时(就像你这个例子一样)已经跑通了,但是需要使用jdbc时老出问题。谢谢
--fqjabc
2. re: 一次JQuery性能优化实战
不需要构建DOM
--bns
3. re: Spring Security 3.x 完整入门教程
@过客
尊重人是最起码的
--bns
4. re: Flex中带有三种状态CheckBox的Tree的实现
带有3种状态CheckBox的树形组件刚好用到
收了
--bns
5. re: Spring Security 3.x 完整入门教程
AntUrlPathMatcher这个类所在jar包是哪个啊,是spring-security-core-tiger这个吗?
--iechenyb
阅读排行榜
1. XFire完整入门教程(90428)
2. Spring Security 3.x 完整入门教程(59138)
3. 使用XFire开发Web Service客户端完整入门教程(52317)
4. WebSphere6.1中使用Spring报cvc-elt.1: Cannot find the declaration of element 'beans'异常的解决办法(24196)
5. 用MKVMerge GUI合并MKV文件(16667)
评论排行榜
1. XFire完整入门教程(130)
2. Spring Security 3.x 完整入门教程(67)
3. 使用XFire开发Web Service客户端完整入门教程(33)
4. VBA编程心得(24)
5. JDK1.5API完整中文版CHM格式文档发放(可下载)(22)