- 浏览: 1609026 次
- 性别:
文章分类
- 全部博客 (2929)
- 非技术 (18)
- Eclipse (11)
- JAVA (31)
- 正则表达式 (0)
- J2EE (4)
- DOS命令 (2)
- WEB前端 (52)
- JavaScript (69)
- 数据库 (8)
- 设计模式 (0)
- JFreechart (1)
- 操作系统 (1)
- 互联网 (10)
- EasyMock (1)
- jQuery (5)
- Struts2 (12)
- Spring (24)
- 浏览器 (16)
- OGNL (1)
- WebService (12)
- OSGi (14)
- 软件 (10)
- Tomcat (2)
- Ext (3)
- SiteMesh (2)
- 开源软件 (2)
- Hibernate (2)
- Quartz (6)
- iBatis (2)
最新评论
最近在开发中遇到了表单提交前验证的问题,用一个普通的button按钮代替submit按钮,
在提交前触发这个button的onclick事件,在其事件中触发form的submit事件。问题出现了:
以下是出现相关代码:
却发现并没有触发form的onsubmit方法,而是直接提交了。奇怪了,难道没有这种方式无法结合form的onsubmit方法吗?
仔细想了想,既然this.form表示form这个对象,那么肯定能获取到form的属性和方法的
,就改成this.form.onsubmit(); 成功!
我又查了查手册,原来submit的方法是这样解释的:
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.
意思是说submit这个方法是不触发onsubmit事件的,如果想要触发它,需要调用
fireEvent方法。尝试一下:this.form.fireEvent('onsubmit');哈哈,果然也成功!不过这样不是多此一举吗?呵呵!
就这个小问题也搞了我将近一个小时,不过为了以后不为这个问题烦恼,这也是值得的。
this.form.submit(); //直接提交表单
this.form.onsubmit(); //调用form的onsubmit方法
this.form.fireEvent('onsubmit'); //同上,
PS:又学到了fireEvent这个方法
在提交前触发这个button的onclick事件,在其事件中触发form的submit事件。问题出现了:
以下是出现相关代码:
- <formaction= "http://www.baidu.com/s?wd=this.form.submit%28%29%3B&cl=3" method= "post" name= "form1" onsubmit= "returnalert('已提交!');returnfalse;" >
- <tablealign= "center" width= "420px" cellPadding= "2" cellSpacing= "1" bgcolor= "#A4B6D7" style= "word-wrap:Break-word;" >
- <trstyle= "cursor:hand;background:#d7e3f6" >
- <tdwidth= "20%" align= "right" >条型码</td>
- <td><inputstyle= "width:90%" type= "text" name= "GOODSNUM" size= "30" maxlength= "8" ></td>
- </tr>
- <tr>
- <tdalign= "center" colspan= "2" >
- <inputtype= "button" name= "save" value= "保存" onclick= "if((confirm('确定要提交吗?')))this.form.submit();" />
- </td>
- </tr>
- </table>
- </form>
<form action="http://www.baidu.com/s?wd=this.form.submit%28%29%3B&cl=3" method="post" name="form1" onsubmit="return alert('已提交!'); return false;"> <table align="center" width="420px" cellPadding="2" cellSpacing="1" bgcolor="#A4B6D7" style="word-wrap:Break-word;"> <tr style="cursor: hand;background:#d7e3f6" > <td width="20%" align="right">条型码</td> <td><input style="width:90%" type="text" name="GOODSNUM" size="30" maxlength="8" ></td> </tr> <tr> <td align="center" colspan="2"> <input type="button" name="save" value="保存" onclick="if((confirm('确定要提交吗?'))) this.form.submit();"/> </td> </tr> </table> </form>
却发现并没有触发form的onsubmit方法,而是直接提交了。奇怪了,难道没有这种方式无法结合form的onsubmit方法吗?
仔细想了想,既然this.form表示form这个对象,那么肯定能获取到form的属性和方法的
,就改成this.form.onsubmit(); 成功!
我又查了查手册,原来submit的方法是这样解释的:
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.
意思是说submit这个方法是不触发onsubmit事件的,如果想要触发它,需要调用
fireEvent方法。尝试一下:this.form.fireEvent('onsubmit');哈哈,果然也成功!不过这样不是多此一举吗?呵呵!
就这个小问题也搞了我将近一个小时,不过为了以后不为这个问题烦恼,这也是值得的。
this.form.submit(); //直接提交表单
this.form.onsubmit(); //调用form的onsubmit方法
this.form.fireEvent('onsubmit'); //同上,
PS:又学到了fireEvent这个方法
发表评论
-
Javascript评估用户输入密码的强度的方法 代码
2009-07-28 17:50 680用Javascript评估用户输入密码的强度密码已经是我们生活 ... -
15款基于浏览器扩展的WEB开发工具
2009-07-29 08:44 751WEB开发工具的使用已经 ... -
WEB 服务器调试利器 -- Tamper Data(转)
2009-07-29 08:53 730一. 简介 作为 Firefox 的插件, T ... -
图片和文字放一起,不能居中的解决方法
2009-07-29 14:47 928<td align="center" ... -
解开JavaScript生命的达芬奇密码
2009-08-05 17:56 718解开JavaScript生命的达芬奇密码 ——如何使用Jav ... -
掌控上传进度的AJAX Upload(转贴)
2009-08-05 17:59 693掌控上传进度的AJAX Uploa ... -
深入浅出URL编码
2009-08-11 19:58 617版权声明:如有转载请求,请注明出处: http://blog ... -
Javascript跨域访问解决方案
2009-08-11 20:11 622由于安全方面的考虑,Javascript被限制了跨域访问的能力 ... -
不唐突的JavaScript的七条准则(转载)
2009-08-12 13:18 614经过多年的开发、教学 ... -
浅谈Javascript中的事件流和事件绑定
2009-08-13 16:31 762事件流 浏览器中的事 ... -
JavaScript继承详解(二)
2009-08-17 17:04 600转自:http://www.cnblogs.com/sansh ... -
JavaScript继承详解(一)
2009-08-17 17:04 677转自:http://www.cnblogs.com/sansh ... -
javascript实用技巧--数组.
2009-08-17 17:08 636数组和字符串类型对象的方法我特容易搞混淆,所以把他列出来,免得 ... -
IE和Firefox之间的JavaScript差异
2009-08-17 17:18 567尽管 JavaScript 历史上使用冗长而令人生厌的代码块来 ... -
常见的JavaScript错误
2009-08-17 17:19 716作者: Richardy, 出处:IT ... -
JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度
2009-08-17 17:19 639网页可见区域宽:document.body.clientWid ... -
Javascript的Defer属性
2009-08-17 17:48 678Script中的Defer属性 ... -
最佳的"addEvent"是怎样诞生的
2009-08-18 13:47 623IE的 JScript 存在内存泄露的bug 想必大家都清楚或 ... -
值得推荐的事件捕获函数AddEvent()
2009-08-18 13:56 7461, 下面是JQuery之父推荐的添加移除事件方法。 ... -
【CSS布局.2】绝对定位和相对定位
2009-08-20 15:51 577Absolute ,CSS 中的写法是:positio ...
相关推荐
submit表单提交,onsubmit验证拦截 免去了用button按钮click点击事件ajax请求
表单元素拥有submit方法,同时也具有onsubmit事件句柄,用于监听表单提交。可以使用elemForm.submit();方法触发表单提交。1、表单元素中出现了name=”submit”的元素这种情况下elemForm.submit();将不会触发表单提交...
本文实例讲述了JS定义网页表单提交(submit)的方法。分享给大家供大家参考。具体如下: 这段代码表示网页表单提交时不是提交到指定的页面,而是执行一个特定的函数 [removed] function saveInfo() { localStorage...
input type=submit />提交时进行一个函数验证。。 第二:要说执行的先后顺序,个人理解是onSubmit在先,先验证,验证返回false时,则无法到达action=url地址。如果是返回true或者没有返回值是,则通过且转向url...
一个FORM表单中有两个SUBMIT按钮(例如“修改”“删除”),只有一个ACTION处理页面 在此ACTION页面中如何区分是处理“修改”呢还是处理“删除”? 方法1: 假如FORM表单是这样的: <INPUT Type=”Submit” ...
当用JS调用form的方法submit直接提交form的时候,submit事件不响应。为什么?知道的请回复。类比一下,我用input.select()做了测试,却能响应select事件。这个原因先放一边,我们看看先怎么把眼下的问题解决了。不...
代码如下:/** * 表单提交校验 **/function onSubmit(){ if($(‘#name’).val().length<2){ alert(“名称请不少于两个汉字”); return false; } var t = new Date().getTime(); $.ajax({ type: ...
ASP.NET 的服务器控件回发是使用这一段JS代码: 代码如下: var theForm = ...theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value
form onsubmit=”aa(this);”> <input type=”text” name=”” value=”test” /><input type=”submit” value=”提交” /> </form> <iframe src=”” name=”fA” ...
form id=login-form method=post onsubmit=return checkForm()> 输入密码<input type=password id=input-password> <input type=hidden id=md5-password name=password> <button type=submit&...
测试 轻松测试 Knockout 3.2 组件和自定义绑定处理程序。 依赖关系 该库支持通过 AMD 加载或作为全局对象加载,但 mocha 始终需要在全局范围内加载。... submit = function ( ) { this . onSubmit
<form method=post action="http://baidu.com/do.jsp" target="_blank" onsubmit="doMethod();return false;"> 是">你接受吗 你是党员吗 <input type=submit > function doMethod(){ if(document.forms[0]....
在进行表单提交时,需要对输入框和文本域等的value的合理性进行验证,可以编写form的onSubmit事件,代码,踩过的坑;注意点: 1、只有通过form里面的 <button type="submit" >提交</button>进行表单的...
Button在Form中具有submit的特性</title> <meta charset=”utf-8″> </head> <body> <form onsubmit=”alert(3)”> <input name=”uname”/> <button onclick=”...
input type="submit" id="submit" name="submit"> </form> </body> </html> html页面。 第一种方法:利用event的阻止默认事件机制,页面载入之后获得submit元素,然后为submit注册click响应...
}}</script><form name=a onsubmit="return test()"><textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea><input type="submit" name="Submit" value="check"></form> 2. 只能是汉字 (/[^\u4E00-\u9FA...
不过在IE6,safari4,ff3.5,opera10,chrome中,按Enter,不但激发form的submit事件,同时也会激发提交按钮的onclick,激发顺序为提交按钮的 onclick → form 的 onsubmit。 键盘事件 键盘事件 [Ctrl+A 全选 ...
onreset 属性和 onsubmit 属性设定了在按下 reset 按钮和 submit 按钮之后要执行的子程序。 标记用于输入各种类型的数据,包括文本、密码、复选框、单选框、提交按钮、清除按钮、文件、隐藏按钮和图片按钮等。其中...
如果表单是通过onsubmit进行Ajax提交,注意将表单提交按钮input type属性设为button,尽量不要设置为submit类型。 另外,在提交事件发出后,最好将提交按钮设置为disabled,防止由于网络延时问题,让用户有机会进行...