- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
submit和onsubmit的区别
submit和onsubmit的区别
由表单中onsubmit=return false;想到的
众所周知,在表单中加上onsubmit=return false;可以阻止表单提交。
下面是简单的一小段代码:
代码
form action=index.jsp method=post onsubmit=submitTest();
INPUT value=www
input type=submit value=submit
/form
SCRIPT LANGUAGE=JavaScript
!--
function submitTest() {
// 一些逻辑判断
return false;
}
//--
/SCRIPT
大家判断像上面的写法,点击submit按钮该表单是否提交?
若答案为是,就不用往下看了。
若答案为否,错了。实际情况是表单正常提交,若想它不提交,应该将
代码
form action=index.jsp method=post onsubmit=submitTest();
改为
代码
form action=index.jsp method=post onsubmit=return submitTest();
为何?
原来onsubmit属性就像是form这个html对象的一个方法名,其值(一字符串)就是其方法体,默认返回true;
和Java一样,在该方法体中你可以写任意多个语句,包括内置函数和自定义函数,如
代码
onsubmit=
alert(haha); // 内置函数
submitTest(); // 自定义函数
alert(this.tagName); // 用到了this关键词
......(任意多条语句)
return false;
就相当于
代码
Ftotype.onsubmit = function() {
alert(haha); // 内置函数
submitTest(); // 自定义函数
alert(this.tagName); // 用到了this关键词
......(任意多条语句)
return false;
};
这样的话你就覆写了(override)其默认方法(默认返回true)
大家注意到方法体中可以用this这个关键词,这里即代表了form的对象实例。
经过这样的分析后,以上情况就不难理解了:
代码
form action=index.jsp method=post onsubmit=submitTest();
这样写,override方法的效果为:
代码
Ftotype.onsubmit = function() {
submitTest();
};
在这里submitTest()虽然返回false,但我们只执行了此函数,没有对其结果进行任何处理。而
代码
form action=index.jsp method=post onsubmit=return submitTest();
override方法的效果为:
代码
Ftotype.onsubmit = function() {
return submitTest();
};
这样,我们利用到了它的返回值,达到了预期效果。
这样理解的话我想印象会深刻得多,就不易出错了
结论:
我们可以用Java里的思维方式来思考模拟JavaScript中的类似情况(JavaScript中基于prototype的面向对象技术也确实是这样做的),但他们毕竟还是有本质上的区别,如Java是强类型的,有严格的语法限制,而JavaScript是松散型的。象上述方法:
代码
Ftotype.onsubmit = function() {
};
既可以有返回值,又可以没有返回值,在Java里是通不过的,毕竟Java里面不能靠方法的返回值不同来重载(overload)方法,而JavaScript中的重载要松散得多。
submit()和onsubmit()的区别
最近在开发中遇到了表单提交前验证的问题,用一个普通的button按钮代替submit按钮,
在提交前触发这个button的onclick事件,在其事件中触发form的submit事件。问题出现了:
以下是出现相关代码:
form action=/s?wd=this.form.submit%28%29%3Bcl=3 method=post name=form1 onsubmit=return alert(已提交!); return false;
table
您可能关注的文档
最近下载
- JTGT 3660—2020公路隧道施工技术规范.docx VIP
- 陕西省高标准农田建设可行性研究报告(范文参考).docx
- LEGO乐高积木拼砌说明书75253,乐高®星球大战机器人指挥官,LEGO®StarWars™(年份2019)安装指南_第3份共4份.pdf
- 砖混结构工程施工组织设计.docx VIP
- 中暑的预防与急救.ppt VIP
- 临床试验药品管理.pptx VIP
- 深度学习解读“中央八项规定精神”PPT课件.pdf VIP
- 房地产营销策划 -桂林乐满地景区全年新媒体运营创意案-打破常规 晓喻新生.docx
- (人教2024版)数学四年级上册 第1单元《大数的认识》大单元教学设计.docx
- 2025年高二化学学业水平考试重点知识点总结(复习必背).docx VIP
文档评论(0)