onSubmit="check()"和onSubmit="return check()",为什么要加上return?。

onSubmit=

结论:onSubmit是用来验证表单数据的合法性的,onSubmit="check()"没有用,onSubmit="return check()"有用。

我们在写form的时候,往往需要确认数据的合法性。

比如用户名称合不合法?邮箱格式正不正确?

如果不正确的话,数据就不要发送了。

所以我们就会用到form标签的onSubmit属性,通过让onSubmit="check()"来阻止不合法的数据被发送

这里的check()是一个验证数据合法性的函数,数据不合法check返回false,onSubmit就是false,不就可以了吗?

这样乍一看好像很对,实际操作却是,即使不合法,数据还是会被发送

为什么呢?

首先,查看文档就会发现,onSubmit属性就相当于form标签里的一个函数名,onSubmit的value就是onSubmit这个“函数”里的内置函数,而onSubmit这个“函数”默认返回值是true。

就像这样:

function onSubmit()

{

check();

return true;

}

这样我们就很清晰地看到,即使check()的返回值是false,onSubmit的返回值也是true,数据还是会被提交。

所以,我们应该使用onSubmit="return check()",这样onSubmit的返回值就不会是默认的true,而是check()的返回值了。

function onSubmit()

{

return check();

}

相关推荐

乐视 乐1 pro报价、参数、图片,联通智能3G合约手机
Best365官网登陆

乐视 乐1 pro报价、参数、图片,联通智能3G合约手机

📅 08-01 👁️ 9133
《英雄联盟》knight直播平台介绍
bet3365也可以

《英雄联盟》knight直播平台介绍

📅 09-18 👁️ 5433
“消失”的国宝,都去了哪里?
Best365官网登陆

“消失”的国宝,都去了哪里?

📅 07-17 👁️ 231