`

html form onsubmit表单提交的问题

 
阅读更多

FORM表单中onclick()、submit()与onsubmit()的问题

2012-03-01 Tech Notes 252 / 0

最近遇到一次处理form数据的过滤,采用了button的onclick事件来检查,发现return false后表单仍然提交了。

于是仔细研究了下onclick、onsubmit、submit集合函数之间的关系和区别

onsubmit
You can override this event by returning false in the event handler. Use this capability to validate data on the client side to prevent invalid data from being submitted to the server. If the event handler is called by the onsubmit attribute of the form object, the code must explicitly request the return value using the return function, and the event handler must provide an explicit return value for each possible code path in the event handler function.
The submit method does not invoke the onsubmit event handler.

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.

首先生成一个form

1 <form action="#" method="POST" name="A" onsubmit="return X();">
2 <input type="text" value="" />
3 <input onclick="Y()" type="submit" value="提交" />
4 </form>

自己写X()、Y()函数,我们会发现,这几个函数的执行顺序

1) onclick: Y();

2) onsubmit: X();

3) submit();

也就是说

只要 onclick 未 return false 那么就继续执行 onsubmit

只要 onsubmit 未return false 那么表单就被提交出去了

另外一点写法上注意一定要 “return X();” 才能取得函数的返回值,否则只是调用函数,返回值未被传递

正确写法:
<input type=submit onclick=”return X();”>
//X() 返回false后,form的submit会被终止

错误写法:
<input type=submit onclick=”X()”>

//X() 返回false后未传递给onclick事件,form的submit会继续

分享到:
评论

相关推荐

    submit表单提交,onsubmit验证拦截

    submit表单提交,onsubmit验证拦截 免去了用button按钮click点击事件ajax请求

    onsubmit阻止form表单提交与onclick的相关操作

    return false会阻止表单提交,基本上关于onsubmit=return false有以下几点要注意的地方,学习后台编程的朋友一定要知道。

    JS验证页面form表单数据,齐全

    在form表单上添加一个提交事件调用验证数据方法 &lt;form name="listform" action="resume-doAdd" method="post" onsubmit="return Validator.Validate(this,3);"&gt; 请输入正确的手机号!" requiremsg="移动电话不能为...

    form表单action提交的js部分与html部分

    1、JS部分代码 代码如下: /** * 提交表单 */ function submitForm(action, actName, objName, formName,blogType){ $(“#”+formName).attr(“action”,action); //var f = document.getElementsByTagName(“form”)...

    jquery 构造函数在表单提交过程中修改数据

    先贴代码 [removed] function appendText(){ ... 然后再在 form 表单进行提交时候 &lt;form onsubmit="appendText();" &gt;  然后在后台查看数据美容,就会对应的加上相应的字符 以上所述就是本文的全部内容了,

    JS定义网页表单提交(submit)的方法

    本文实例讲述了JS定义网页表单提交(submit)的方法。分享给大家供大家参考。...form id=register onSubmit=return saveInfo()&gt; &lt;label for=name&gt;Name: &lt;input type=text name=name id=name&gt; &lt;input

    JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)

    1.1 通过submit 按钮提交后 会根据form的属性action=“路径”来跳转到相应的路径,这时,给form添加一个 onsubmit =”return check()” 属性, check()使我们要写的验证函数,如下图: &lt;form action

    Yii框架表单提交验证功能分析

    本文实例讲述了Yii框架表单提交验证功能。分享给大家供大家参考,具体如下: 一、前端提交的三种方式 前面已经提出,表单提交一共只有三种方式。 1. 前端原生html (1)原生html标签 首先,直接使用html标签的input,...

    动态设置form表单的action属性的值的简单方法

    form表单: &lt;form name="myform" id="myform" action="ssss" method="post" onsubmit="getUrl();"&gt; javascript方法: [removed] function getUrl(){ $('form').attr('action','new_url'); } [removed] ...

    JavaScript阻止表单提交方法(附代码)

    主要介绍了JavaScript阻止表单提交方法,通过代码示例讲解了阻止表单提交需要注意的事项,以及onSubmit和check()的区别写法,需要的朋友可以参考下

    form表单只提交数据而不进行页面跳转的解决方案

    一般的form提交操作写法为 代码如下: &lt;form action=”saveReport.htm” method=”post”&gt; …… &lt;input type=”submit” value=”保存报告”/&gt;... 利用jquery的ajaxSubmit函数以及form的onsubmit函数完成,

    Form表单的action和onSubmit示例介绍

    第一:action是form的属性,html5已经将其定义为必需的属性值,onSubmit为事件,通过&lt;input type=submit /&gt;提交时进行一个函数验证。。 第二:要说执行的先后顺序,个人理解是onSubmit在先,先验证,验证返回...

    JS表单提交验证、input(type=number) 去三角 刷新验证码

    在进行表单提交时,需要对输入框和文本域等的value的合理性进行验证,可以编写form的onSubmit事件,代码,踩过的坑;注意点: 1、只有通过form里面的 &lt;button type="submit" &gt;提交&lt;/button&gt;进行表单的...

    form的OnSubmit和input type=image使用介绍

    如果有OnSubmit会先执行这个函数,如果返回false则不提交表单! 复制代码代码如下: [removed] function test() { alert&#40;“测试!”&#41; } [removed] &lt;form name=”F1″ onSubmit=”fuck();”&gt; &lt;input ...

    利用JS提交表单的几种方法和验证(必看篇)

    第一种方式:表单提交,在form标签中增加onsubmit事件来判断表单提交是否成功 [removed] function validate(obj) { if (confirm&#40;"提交表单?"&#41;) { alert&#40;obj.value&#41;; return true; } else { ...

    网页中回车后form自动提交跳到其他页面的解决方法

    网页回车后form自动提交,跑到其他页面 有个查询的form,本来是希望点击查询时才查询的,结果测试到回车时跑到其他页面去了。 复制代码代码如下: &lt;form action=”notice.php” method=”get”&gt; … &lt;...

    jQuery EasyUI API 中文文档 – Form表单

    代码如下: $(‘#ff’).form({ url:…, onSubmit: function(){ // 做某些检查 // 返回 false 来阻止提交 }, success:function(data){ alert&#40;data&#41; } }); // 提交 form $(‘#ff’).submit(); 去做一个提交...

    表单Form的submit事件不响应

    当用JS调用form的方法submit直接提交form的时候,submit事件不响应。为什么?知道的请回复。类比一下,我用input.select()做了测试,却能响应select事件。这个原因先放一边,我们看看先怎么把眼下的问题解决了。不...

Global site tag (gtag.js) - Google Analytics