[奇怪]一个关于type=submit 和 onsubmit的问题
2010-07-20 11:58
190 查看
原代码是这样的:
function doSearch() {
$("#mainForm").submit(); 1
return false; 2
}
<form onsubmit="doSearch();"> 3
<input type="submit" value="查询"/> 4
</form>
这样提交表单,你觉的表单会提交几次呢?
答案是:两次,
如果,3 改为 onsubmit="return doSearch();" 那么表单提交几次呢。
答案是一次
如果 2 改为 return null, 或者, return undefined 那么表单提交几次呢
答案是两次
也就是说,如果,表单里,有submit按钮,那么单击该按钮,那么该表单,就会查找是否有onsubmit属性,如果存在,就调用该属性 对应的函数,函数返回值,决定onsubmit 属性的是否值,只是,onsubmit的是否,值,onsubmit属性,判断属性是否返回,如果有返回,就是有return,如果,返回是false则,不提交表单,其余的均提交表单。
同样,如果你的doSearch函数,不给返回值,该表单页会提交两次!!
所以,如果,你要使用button是submit ,那么在form表单,的onsubmit属性里,必须给return,函数,要不,表单则会重复提交。
按钮是 submit 可以自动支持enter【回车】事件!!要不,如果你用type=button,你还得捕获回车事件。
个人意见,欢迎拍砖!!
function doSearch() {
$("#mainForm").submit(); 1
return false; 2
}
<form onsubmit="doSearch();"> 3
<input type="submit" value="查询"/> 4
</form>
这样提交表单,你觉的表单会提交几次呢?
答案是:两次,
如果,3 改为 onsubmit="return doSearch();" 那么表单提交几次呢。
答案是一次
如果 2 改为 return null, 或者, return undefined 那么表单提交几次呢
答案是两次
也就是说,如果,表单里,有submit按钮,那么单击该按钮,那么该表单,就会查找是否有onsubmit属性,如果存在,就调用该属性 对应的函数,函数返回值,决定onsubmit 属性的是否值,只是,onsubmit的是否,值,onsubmit属性,判断属性是否返回,如果有返回,就是有return,如果,返回是false则,不提交表单,其余的均提交表单。
同样,如果你的doSearch函数,不给返回值,该表单页会提交两次!!
所以,如果,你要使用button是submit ,那么在form表单,的onsubmit属性里,必须给return,函数,要不,表单则会重复提交。
按钮是 submit 可以自动支持enter【回车】事件!!要不,如果你用type=button,你还得捕获回车事件。
个人意见,欢迎拍砖!!
相关文章推荐
- 关于RelativeLayout的一个奇怪问题
- 关于在线编辑器的一个奇怪的问题
- 安装Piwik时遇到的一个奇怪的关于PHP参数问题的解决办法
- 一个关于Unicode字符编码的奇怪问题
- 关于虚继承和析构函数的一个奇怪的问题
- 一个奇怪的关于自冲销的问题,不解?
- 关于form使用form.submit()提交的一个问题,提示form.submit不是对象的方法属性
- 关于Java包导入的一个奇怪问题(www.sunxin.org)
- 关于block的一个奇怪问题
- 一个关于Unicode字符编码的奇怪问题
- 在用zepto的on事件中遇到的一个奇怪问题.
- 关于BadgeView遇到的一个奇怪的问题和解决办法
- 昨天关于isa的一个奇怪问题
- [VB.NET]一个关于VB2005中 listbox的奇怪的问题
- Android中一个关于ListView的奇怪问题
- 一个关于Unicode字符编码的奇怪问题
- 关于小米手机<input>的一个奇怪的问题
- 关于ATI显卡的一个奇怪问题?
- 一个关于inet_ntoa的奇怪问题
- 一个关于Unicode字符编码的奇怪问题