转自:http://jackaudrey.blog.163.com/blog/static/1314217882010590041833/

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

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

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

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

< html >
< script >    function exec(p){   document.frm.action  =  p ;   document.frm.submit();
}
function exec1(p){   document.frm.action  =  p ;   document.frm.submit();   document.frm1.submit();//IE页面定位到最后一个提交的action所对应的页面   alert("haha");//submit()后边的语句正常执行,这里弹出框文字”haha“
}
</ script >
< head >
< h1 > 总结:FORM  onSubmit = "return false" 防止表单自动提交,以及submit和button提交表单的区别 </ h1 >
< head >
< body >
<!-- (1) 下边的写法使得表单frm能够自动提交
下边的这个form,将鼠标点进的文本框中然后按键盘的回车键,则页面自动进入百度页面:http://www.baidu.com
< form   name = 'frm'   action = "http://www.baidu.com" >    < input   type = "text"   name =  "userName" />    < input   type = "hidden"   name =  "userName1" />
</ form >    注意:将上边的“< input   type = "hidden"   name =  "userName1" /> ”去掉或者增加上,都不能改变页面的自动提交!
-->    <!-- (2)而同样的写法,进行如上的操作,却不会提交
可能是有两个文本输入框的缘故吧(注意:上边仅有一个)。
那如果一个页面中有多个from会怎样??后边有相关试验。   < form   name = 'frm'   action = "http://www.baidu.com" >    < input   type = "text"   name =  "userName" />    < input   type = "text"   name =  "pass" />
</ form >
-->    <!-- (3)下面试试,同一个页面有多个from的情况
这里先试试多个form、每个form中仅有一个文本输入框
< form   name = 'frm1'   action = "http://www.baidu.com" >    < input   type = "text"   name =  "userName" />    < input   type = "hidden"   name =  "userName1" />
</ form >
< form   name = 'frm2'   action = "http://www.google.cn/" >    < input   type = "text"   name =  "userName" />
</ form >
经试验,每个from中的文本输入框都具有自动提交的能力。
-->    <!-- (4)下面试试,同一个页面有多个from的情况
这里先试试多个form、有的form中仅有一个文本输入框,有的form中则有多个文本输入框
< form   name = 'frm1'   action = "http://www.baidu.com" >    < input   type = "text"   name =  "userName" />    < input   type = "text"   name =  "passWord" />
</ form >
< form   name = 'frm2'   action = "http://www.google.cn" >    < input   type = "text"   name =  "userName" />
</ form >
< form   name = 'frm3'   action = "http://www.yahoo.com" >    < input   type = "text"   name =  "userName" />    < input   type = "text"   name =  "passWord" />
</ form >
经试验,只有 frm2 具有自动提交的特性。   看来:只要页面中的某个表单中仅有一个文本输入框,则其页面就具有自动提交的特性了。
-->
<!--(5)如何防止页面自动提交?!
很简单!只要在from 中加上 onSubmit = "return false;" 就OK了!
< form   name = 'frm1'   action = "http://www.baidu.com" >    < input   type = "text"   name =  "userName" />    < input   type = "text"   name =  "passWord" />
</ form >
< form   name = 'frm2'   action = "http://www.google.cn"   onSubmit = "return false;" >    < input   type = "text"   name =  "userName" />
</ form >    呵呵,经过onSubmit = "return false;"  改造后,frm2不再自动提交了!
-->
<!--(6)下边看看input type = "submit" 对提交表单的影响   这里不拿仅有一个文本框的form进行测试了(如果不用onSubmit = "return false;"  ,它是自动提交的)
< form   name = 'frm1'   action = "http://www.baidu.com" >    < input   type = "text"   name =  "userName" />    < input   type = "text"   name =  "passWord" />    < input   type = "submit"   value = "提交1" />
</ form >
< form   name = 'frm2'   action = "http://www.google.com" >    < input   type = "text"   name =  "userName" />    < input   type = "text"   name =  "passWord" />    < input   type = "submit"   value = "提交2" />
</ form >
则,分别鼠标点击frm1、frm2中的文本框并按回车后,会根据各自的action来进入不同的页面
-->
<!--(7)下边看看input type = "button" 对提交表单的影响
< form   name = 'frm1'   action = "http://www.baidu.com" >    < input   type = "text"   name =  "userName" />    < input   type = "text"   name =  "passWord" />    < input   type = "button"   value = "提交1" />
</ form >
< form   name = 'frm2'   action = "http://www.google.com" >    < input   type = "text"   name =  "userName" />    < input   type = "text"   name =  "passWord" />    < input   type = "button"   value = "提交2" />
</ form >    哈哈,分别鼠标点击frm1、frm2中的文本框并按回车后,都没有反应!看来button这样是不能提交表单的
-->    <!--(8)使用 "button" 来提交表单   < form   name = 'frm'   action = "http://www.baidu.com" >    < input   type = "text"   name =  "userName" />    < input   type = "text"   name =  "" />    < input   type = "button"   value = "提交1"   onclick = "exec('http://www.google.com')" />
</ form >    userName 、passWord处都填写数据,点击button。
OK!连上google了,IE地址栏显示:http://www.google.com/?userName = 1passWord =1
-->
<!-- (9)使用 "button" 来提交表单——参考js exec1()中的相关注释     -->
< form   name = 'frm'   action = "http://www.google.com" >    < input   type = "text"   name =  "userName" />    < input   type = "text"   name =  "passWord" />    < input   type = "button"   value = "提交1"   onclick = "exec1('http://www.google.com')" />
</ form >
< form   name = 'frm1'   action = "http://www.hao123.com" >    < input   type = "text"   name =  "userName" />
</ form >    </ body >
</ html >

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

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

onSubmit的使用 
在web开发中,我们经常会遇到,一点回车键表单就自己提交的问题,能不能禁用回车键呢,答案是肯定的.

Html代码 
<from action="" method="post" onSubmit="return false">   
...............    
</from>

如果想在表单提交时,进行验证

Html代码 
<html>   
<head>   
<script lanuage="javascript">   
function check()    
{    
//验证不通过时    
return false;    
}    
</script>   
</head>   
<body>   
<from action="" method="post" onSubmit="return check()">   
...............    
</from>   
</body>   
</html>

<html> 
<head> 
<script lanuage="javascript"> 
function check() 

//验证不通过时 
return false; 

</script> 
</head> 
<body> 
<from action="" method="post" onSubmit="return check()"> 
............... 
</from> 
</body> 
</html>

这样就会对表单进行验证再进行提交

要注意的是,千万不能写成

Html代码 
<from action="" method="post" onSubmit="check()">   
...............    
</from>

因为check()不通过后会返回false, 因为onsubmit属性就像是<form>这个html对象的一个方法名,其值(一字符串)就是其方法体,默认返回true,所以还是相当于验证通过 
记得对表单验证一定要写成这样

Html代码 
<from action="" method="post" onSubmit="return check()">   
...............    
</from>

Html 中表单提交的一些知识总结——防止表单自动提交,以及submit和button提交表单的区别...相关推荐

  1. HTML 中表单form 的相关知识

    在Javascript 中,页面上的每一对<form> 标记都解析为一个对象,即form 对象. 可以通过document.forms 获取以源顺序排列的文档中所有form 对象的集合. ...

  2. form表单的两种提交方式,submit和button的用法

    1.当输入用户名和密码为空的时候,需要判断.这时候就用到了校验用户名和密码,这个需要在jsp的前端页面写:有两种方法,一种是用submit提交.一种是用button提交. 方法一: 在jsp的前端页面 ...

  3. input type=submit 和button的区别及表单提交

    在一个页面上画一个按钮,有四种办法: 1 <input type="button" /> 这就是一个按钮.如果你不写javascript 的话,按下去什么也不会发生. ...

  4. javascript表单处理相关的知识总结(一)

    在HTML中,表单是由元素来表示的,而在JavaScript中,表单对应的则是HTMLFormElement类型.HTMLFormElement继承了HTMLElement,它拥有HTML元素具有的默 ...

  5. 甘肃单招计算机应用基础知识,甘肃单招考试真题试卷

    2021年高职单招升学一对一咨询高职单招刘老师:15310620950(微信) 2019年的高职单招考试正在悄悄地进行,不少同学基础差,不知道如何复习,想要看看单招考试真题试卷以便于自己备考,为此烦恼 ...

  6. Ext.Ajax.request和formPanel.getForm().submit()两种提交方法的异同:

    Ext.Ajax.request和formPanel.getForm().submit()两种提交方法的异同: 1. 相同点: a) 都是使用异步提交的方式: b) 默认都是使用POST方式来提交数据 ...

  7. mysql 优化表 3000万_mysql优化:专题三、关于单表查询,可以这么优化

    mysql优化:专题三.关于单表查询,可以这么优化 作者:PHPYuan 时间:2018-10-18 03:41:26 上篇讲解了「mysql优化专题」90%程序员都会忽略的增删改优化(2),相信大家 ...

  8. submit按钮html,html的两种提交按钮submit和button

    转自:http://baiying.blog.51cto.com/1068039/1319784 html按钮有两种: 和登录 这两种在页面上看起来好像一样没什么区别,但是这两种是有区别的. 1,如果 ...

  9. JeePlus左树右表之 表单【右表】自动获取列表【左树 】中的id

    JeePlus 左树右表中表单[右表]自动获取列表[左树 ]中的id 左树右表中表单[右表]和列表[左树 ]中有个关联.新建[右表]的时候每次都需要手动选择[左树 ]中的数据.并进行绑定. 方法: 1 ...

最新文章

  1. MATLAB对比度调节工具
  2. 傻瓜式Linux之一:系统安装
  3. Virtual Box 安装过程(卸载Vmware后)
  4. python如何读取文件夹下的子文件夹
  5. 网站中公用头部与尾部
  6. 【转】SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤
  7. 用户故事与敏捷开发方法笔记05
  8. 胜过对手,先从微笑开始
  9. 高数学习笔记:计算方向导数
  10. 试用期java_Java试用资源
  11. 扇贝有道180919每日一句
  12. NXP推出Icode DNA芯片,助力产品防伪鉴定
  13. win7修复计算机卡了,win7升级到win10后突然很卡的修复方法(图文)
  14. 使用物理学和领域知识的神经网络的无标签监督解读(上)
  15. 求所有质因子(Java)
  16. Android中EditText优先弹出数字输入法
  17. 涂鸦画板,监听touch事件,手机端
  18. Android 用官方SDK实现第三方(qq、微信、微博等)分享和登录
  19. 粉红色梦幻唯美的家庭相册模板
  20. 爱软测学员面试外企测试工程师英文面试小结

热门文章

  1. STC12C5A60S2片内存储器介绍
  2. 新买的Olmpus 7070,5.1照得几张照片
  3. ppsspp模拟java按键_ppsspp 手柄按键映射 北通 BTP
  4. java 数组 null值_数组的元素String在java中包含null
  5. java加载配置文件_java 读取和修改配置文件
  6. js 连mysql 延后_详解MySQL 主从同步延迟
  7. java miniui datagrid_miniui datagrid 的客户端分页解决方案
  8. python方法_详细解读Python中的__init__()方法
  9. mysql 执行计划不对_mysql tokudb执行计划走的不准确案例
  10. 如何在Linux,Ubuntu,CentOS上安装Java 14