`
sony-soft
  • 浏览: 1016195 次
文章分类
社区版块
存档分类
最新评论

总结:FORM中使用onSubmit="return false"防止表单自动提交,以及submit和button提交表单的区别

 
阅读更多

今天在实现业务的时候,jsp页面总是自动提交。

在页面中有多个input type="text"的文本输入框的情况下没有问题,但是当页面中有只有一个文本框的情况下(),就会出现此问题.

后来在form 中添加:onsubmit="return false;"问题终于解决。

<form name="frm" method="post" onsubmit="return false;">

下边对“防止表单自动提交,以及submit和button提交表单”进行了些总结,希望对大家有些用(如果有不当的地方请指出)。

  1. <html>
  2. <script>
  3. functionexec(p){
  4. document.frm.action=p;
  5. document.frm.submit();
  6. }
  7. functionexec1(p){
  8. document.frm.action=p;
  9. document.frm.submit();
  10. document.frm1.submit();//IE页面定位到最后一个提交的action所对应的页面
  11. alert("haha");//submit()后边的语句正常执行,这里弹出框文字”haha“
  12. }
  13. </script>
  14. <head>
  15. <h1>总结:FORMonSubmit="returnfalse"防止表单自动提交,以及submit和button提交表单的区别</h1>
  16. <head>
  17. <body>
  18. <!--(1)下边的写法使得表单frm能够自动提交
  19. 下边的这个form,将鼠标点进的文本框中然后按键盘的回车键,则页面自动进入百度页面:http://www.baidu.com
  20. <formname='frm'action="http://www.baidu.com">
  21. <inputtype="text"name="userName"/>
  22. <inputtype="hidden"name="userName1"/>
  23. </form>
  24. 注意:将上边的“<inputtype="hidden"name="userName1"/>”去掉或者增加上,都不能改变页面的自动提交!
  25. -->
  26. <!--(2)而同样的写法,进行如上的操作,却不会提交
  27. 可能是有两个文本输入框的缘故吧(注意:上边仅有一个)。
  28. 那如果一个页面中有多个from会怎样??后边有相关试验。
  29. <formname='frm'action="http://www.baidu.com">
  30. <inputtype="text"name="userName"/>
  31. <inputtype="text"name="pass"/>
  32. </form>
  33. -->
  34. <!--(3)下面试试,同一个页面有多个from的情况
  35. 这里先试试多个form、每个form中仅有一个文本输入框
  36. <formname='frm1'action="http://www.baidu.com">
  37. <inputtype="text"name="userName"/>
  38. <inputtype="hidden"name="userName1"/>
  39. </form>
  40. <formname='frm2'action="http://www.google.cn/">
  41. <inputtype="text"name="userName"/>
  42. </form>
  43. 经试验,每个from中的文本输入框都具有自动提交的能力。
  44. -->
  45. <!--(4)下面试试,同一个页面有多个from的情况
  46. 这里先试试多个form、有的form中仅有一个文本输入框,有的form中则有多个文本输入框
  47. <formname='frm1'action="http://www.baidu.com">
  48. <inputtype="text"name="userName"/>
  49. <inputtype="text"name="passWord"/>
  50. </form>
  51. <formname='frm2'action="http://www.google.cn">
  52. <inputtype="text"name="userName"/>
  53. </form>
  54. <formname='frm3'action="http://www.yahoo.com">
  55. <inputtype="text"name="userName"/>
  56. <inputtype="text"name="passWord"/>
  57. </form>
  58. 经试验,只有frm2具有自动提交的特性。
  59. 看来:只要页面中的某个表单中仅有一个文本输入框,则其页面就具有自动提交的特性了。
  60. -->
  61. <!--(5)如何防止页面自动提交?!
  62. 很简单!只要在from中加上onSubmit="returnfalse;"就OK了!
  63. <formname='frm1'action="http://www.baidu.com">
  64. <inputtype="text"name="userName"/>
  65. <inputtype="text"name="passWord"/>
  66. </form>
  67. <formname='frm2'action="http://www.google.cn"onSubmit="returnfalse;">
  68. <inputtype="text"name="userName"/>
  69. </form>
  70. 呵呵,经过onSubmit="returnfalse;"改造后,frm2不再自动提交了!
  71. -->
  72. <!--(6)下边看看inputtype="submit"对提交表单的影响
  73. 这里不拿仅有一个文本框的form进行测试了(如果不用onSubmit="returnfalse;",它是自动提交的)
  74. <formname='frm1'action="http://www.baidu.com">
  75. <inputtype="text"name="userName"/>
  76. <inputtype="text"name="passWord"/>
  77. <inputtype="submit"value="提交1"/>
  78. </form>
  79. <formname='frm2'action="http://www.google.com">
  80. <inputtype="text"name="userName"/>
  81. <inputtype="text"name="passWord"/>
  82. <inputtype="submit"value="提交2"/>
  83. </form>
  84. 则,分别鼠标点击frm1、frm2中的文本框并按回车后,会根据各自的action来进入不同的页面
  85. -->
  86. <!--(7)下边看看inputtype="button"对提交表单的影响
  87. <formname='frm1'action="http://www.baidu.com">
  88. <inputtype="text"name="userName"/>
  89. <inputtype="text"name="passWord"/>
  90. <inputtype="button"value="提交1"/>
  91. </form>
  92. <formname='frm2'action="http://www.google.com">
  93. <inputtype="text"name="userName"/>
  94. <inputtype="text"name="passWord"/>
  95. <inputtype="button"value="提交2"/>
  96. </form>
  97. 哈哈,分别鼠标点击frm1、frm2中的文本框并按回车后,都没有反应!看来button这样是不能提交表单的
  98. -->
  99. <!--(8)使用"button"来提交表单
  100. <formname='frm'action="http://www.baidu.com">
  101. <inputtype="text"name="userName"/>
  102. <inputtype="text"name=""/>
  103. <inputtype="button"value="提交1"onclick="exec('http://www.google.com')"/>
  104. </form>
  105. userName、passWord处都填写数据,点击button。
  106. OK!连上google了,IE地址栏显示:http://www.google.com/?userName=1passWord=1
  107. -->
  108. <!--(9)使用"button"来提交表单——参考jsexec1()中的相关注释
  109. -->
  110. <formname='frm'action="http://www.google.com">
  111. <inputtype="text"name="userName"/>
  112. <inputtype="text"name="passWord"/>
  113. <inputtype="button"value="提交1"onclick="exec1('http://www.google.com')"/>
  114. </form>
  115. <formname='frm1'action="http://www.hao123.com">
  116. <inputtype="text"name="userName"/>
  117. </form>
  118. </body>
  119. </html>

总结期间找了些关于onsubmit="return false;"的文章,作为资料也贴在下边。

URL:http://bbsanwei.javaeye.com/blog/271547

  1. onSubmit的使用
  2. 在web开发中,我们经常会遇到,一点回车键表单就自己提交的问题,能不能禁用回车键呢,答案是肯定的.
  3. Html代码
  4. <fromaction=""method="post"onSubmit="returnfalse">
  5. ...............
  6. </from>
  7. 如果想在表单提交时,进行验证
  8. Html代码
  9. <html>
  10. <head>
  11. <scriptlanuage="javascript">
  12. functioncheck()
  13. {
  14. //验证不通过时
  15. returnfalse;
  16. }
  17. </script>
  18. </head>
  19. <body>
  20. <fromaction=""method="post"onSubmit="returncheck()">
  21. ...............
  22. </from>
  23. </body>
  24. </html>
  25. <html>
  26. <head>
  27. <scriptlanuage="javascript">
  28. functioncheck()
  29. {
  30. //验证不通过时
  31. returnfalse;
  32. }
  33. </script>
  34. </head>
  35. <body>
  36. <fromaction=""method="post"onSubmit="returncheck()">
  37. ...............
  38. </from>
  39. </body>
  40. </html>
  41. 这样就会对表单进行验证再进行提交
  42. 要注意的是,千万不能写成
  43. Html代码
  44. <fromaction=""method="post"onSubmit="check()">
  45. ...............
  46. </from>
  47. 因为check()不通过后会返回false,因为onsubmit属性就像是<form>这个html对象的一个方法名,其值(一字符串)就是其方法体,默认返回true,所以还是相当于验证通过
  48. 记得对表单验证一定要写成这样
  49. Html代码
  50. <fromaction=""method="post"onSubmit="returncheck()">
  51. ...............
  52. </from>
分享到:
评论

相关推荐

    xiuno模板知乎蓝魔改版源码附多个插件.zip

    xiuno模板知乎蓝魔改版源码附多个插件

    webview支持html5视频播放实例.zip

    android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

    PLC04-1 S7200.ppt

    PLC04-1 S7200.ppt

    CODESYS-2.3.9.61 WAGO-SW0759-0333-V20200326-Codesys-S-2020

    CODESYS_2.3.9.61 WAGO_SW0759-0333_V20200326_Codesys_S_2020

    DSP原理及应用总复习.ppt

    DSP原理及应用总复习.ppt

    基于Python从纯文本中提取出人物关系网络,并用Gephi 将生成的网络可视化源码+使用文档+全部资料(优秀项目).zip

    【资源说明】 基于Python从纯文本中提取出人物关系网络,并用Gephi 将生成的网络可视化源码+使用文档+全部资料(优秀项目).zip基于Python从纯文本中提取出人物关系网络,并用Gephi 将生成的网络可视化源码+使用文档+全部资料(优秀项目).zip基于Python从纯文本中提取出人物关系网络,并用Gephi 将生成的网络可视化源码+使用文档+全部资料(优秀项目).zip 【备注】 1、该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过mac/window10/11测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

    可二次开发springmvc实现登陆.rar

    标题:基于SpringMVC的可二次开发登录系统本系统采用流行的Java Web框架——SpringMVC,构建了一个可二次开发的登录模块。通过细致的模块化设计,确保了系统的高内聚、低耦合特性,为进一步的功能扩展提供了便利。系统实现了用户认证与授权的基础流程,并支持自定义的认证机制和权限控制,以适应不同场景的安全需求。界面友好、操作简洁,后端采用事务管理保证数据的一致性和安全性。此外,该系统还包含了详细的文档和注释,便于理解和维护。无论是作为毕业设计还是课程项目,它都是一个展示个人技术能力和快速学习能力的绝佳选择。重新回答||

    基于dijkstra算法求最短路径,可以求任意两点间的最短路径.rar

    基于dijkstra算法求最短路径,可以求任意两点间的最短路径.rar

    气动机械臂设计(机械CAD图纸).doc

    气动机械臂设计(机械CAD图纸).doc

    voicemod 变声器.zip

    voicemod 变声器.zip

    ssg-web workspace 日程管理系统

    会话管理,html,js,过滤器,servlet,ajax,tomcat

    仿赶集生活客户端的介绍动画界面.zip

    android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

    25.医院信息化管理系统的设计与实现-Springboot+ Mysql+Java+ B/S源码(含数据库脚本)+开发文档+lw

    25.医院信息化管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码(含数据库脚本)+开发文档+lw(高分毕设项目) 详细设计文档介绍链接:http://t.csdnimg.cn/OnXTu 内容概要: 全套项目源码+详尽文档,一站式解决您的学习与项目需求。 基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。系统主要包括首页,个人中心,用户管理,医生管理,科室管理,医生信息管理,挂号信息管理,取消挂号管理,问诊记录管理,病房管理,药房管理,管理员管理等功能模块。 适用人群: 计算机、通信、人工智能、自动化等专业的学生、老师及从业者。 使用场景及目标: 无论是毕设、期末大作业还是课程设计,一键下载,轻松部署,助您轻松完成项目。 项目代码经过调试测试,确保直接运行,节省您的时间和精力。 其他说明: 项目整体具有较高的学习借鉴价值,基础能力强的可以在此基础上修改调整,以实现不同的功能。

    基于CNN卷积神经网络花朵花卉识别系统GUI界面.zip代码119

    基于CNN卷积神经网络花朵花卉识别系统,有数据集进行训练,可以增加其它花朵图像数据。 基于CNN卷积神经网络花朵花卉识别系统,有数据集进行训练,可以增加其它花朵图像数据。 基于CNN卷积神经网络花朵花卉识别系统,有数据集进行训练,可以增加其它花朵图像数据。

    Object-CC++对象库,实现类似于Java的Object类的Object

    【Object-C】C++对象库,实现类似于Java的Object类的Object, (a C++ Object library, implementating an Object similar to Java s Object class,) 文件列表: CMakeLists.txt (1300, 2023-10-16) LibObjClangPlugin/ (0, 2023-10-16) LibObjClangPlugin/CMakeLists.txt (3290, 2023-10-16) LibObjClangPlugin/ClangParser/ (0, 2023-10-16) LibObjClangPlugin/ClangParser/FindReplace/ (0, 2023-10-16) LibObjClangPlugin/Makefile (17354, 2023-10-16) LibObjClangPlugin/clang_format.sh (1387, 2023-10-16) LibObjClangPlugin/customParser.cpp (94410,

    多维报表.zip

    android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

    按住说话,开始录音,停止录音,显示到列表,点击列表项播放。.zip

    android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

    Deep Fake文本转语音.txt

    Deep Fake文本转语音.txt

    安卓伪加密工具.zip

    android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

    基于matlab 2Dijkstra最短路径算法的matlab程序,希望对大家有所帮助.zip

    基于matlab 2Dijkstra最短路径算法的matlab程序,希望对大家有所帮助.zip

Global site tag (gtag.js) - Google Analytics