在javascript中关于submit和button提交表单区别

原文:在javascript中关于submit和button提交表单区别

原文来自:http://www.jb51.net/article/42236.htm

submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮,所不同的是type属性和处发响应的事件上。

1、
如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成button,即取消其自动提交的行为,

否则,将会造成提交两次的效果,对于动态网页来说,也就是对数据库操作两次。或者在使用submit时验证时加return
true或false。

2、submit和button,二者都以按钮的形式展现,看起来都是按钮,所不同的是type属性和处发响应的事件上,submit会提交表单,button不会提交表单.


两者主要区别在于: 

submit默认为form提交,可以提交表单(form). 
button则响应用户自定义的事件,如果不指定onclick等事件处理函数,它是不做任何事情.当然,button也可以完成表单提交的工作.

INPUT type=submit 即发送表单,按回车提交表单

INPUT type=button 就是单纯的按钮功能,提交的是innerTEXT

===============submit 和
button的详细对比=================================== 

submit:特殊的button,会自动将表单的数据提交,onClick方法不加return
会自动提交,并不会起到约束的作用, 
所以,使用submit时需要验证请加 return
true或false. 
例:<input type="submit" name="Submit" value="注 册"
onClick=" return check();">,在JS中判断的时候 写return true; 或者 return false;

button:普通的按钮,不会自动提交表单数据.可以在JS中显式提 交:document.form1.submit(),

使用场合:
一个页面有多个提交按钮,需要根据用户的操作来确定到底提交到哪个控制器,这种情况下,就需要在JS中判断用户的操作,然后根据操作来给document.form1.action赋值并且document.form1.submit()来提交

===============如果想要所有的提交都在一个servlet中处理,该怎么做================== 
提交的按钮也是HTML组件,所以也可以通过
getParameter()来得到,那么getParameter()的参数也需要固定下来 

参数就是所有的表单的提交按钮的name,当然提交

按钮的name要一样才能统一在一个servlet中根据提交按钮的值来区别操作 

附代码: 

js文件 
 
用submit的时候,jsp页面 

 

用button的时候,jsp代码 


理解:

submit是特殊的button,会直接提交表单,使用button时 ,不要又onclick函数,才会提交表单。

在javascript中关于submit和button提交表单区别,布布扣,bubuko.com

时间: 2024-10-12 15:54:29

在javascript中关于submit和button提交表单区别的相关文章

(转)在javascript中关于submit和button提交表单区别

原文来自:http://www.jb51.net/article/42236.htm submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮,所不同的是type属性和处发响应的事件上. 1. 如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成button,即取消其自动提交的行为, 否则,将会造成提交两次的效果,对于动态网页来说,也就是对数据库操作

submit和button提交表单的区别

<html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>submit</title> <script type="text/javascript"> function checkForm(){ if(document.form1.userName.value.length==0

jquery通过submit()和serialize()提交表单

<script type="text/javascript"> $(function() { $('#form1').submit(function() { //当提交表单时,会发生 submit 事件. //此处可做表单验证 //... ... var postData = $("#form1").serialize();//序列化表单,后台可正常通过post方法获取数据 $.ajax({ type: "POST", url: &q

JavaScript使用button提交表单

<form action="test.html" method="POST"> <input type="button" value="提交"/> </form> <!-- 用提交表单,重要 --> <script type="text/javascript"> //定位提交按钮 var inputElement = document.getEle

详解JavaScript中的Url编码/解码,表单提交中网址编码

本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数escape / unescape,encodeURI / decodeURI和 encodeURIComponent / decodeURIComponent. 预备知识 foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/ \_______

vue.js中 ,回车键实现登录或者提交表单!

vue的功能非常强大,但是我们作为一个后端开发人员,前端的东西不一定都弄的很明白,今天就给大家介绍一个回车提交表单的真实案例,达到回车登录的效果! @ keyup.enter 实现的效果 <input v-model = "password" type="password" name="" class="pwd" placeholder="密码" @keyup.enter="handello

button提交表单 a标签提交表单

<form name="searchForm" id="searchForm" method="get" action="/ProductType?pageIndex=1"> <input type="text" value="" name="name" id="name" placeholder="Enter text

jquery中使用$(#form).submit()提交表单无效原因分析及解决Script

今天写了一个表单验证,验证的时候没有任何问题,但是页面提交不了,很诡异,然后各种百度,查了一下的原因是input的id不能为submit 注意:提交表单的时候,input的id不能为submit <dl> <dd> <label>角色名称:</label> <input type="text" id="role_name" name="name" style="text-indent

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

第一种方式:表单提交,在form标签中增加onsubmit事件来判断表单提交是否成功 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <script type="text/javascript">    function validate(obj) {     if (confirm("提交表单?")) {       alert(obj.value);       return true;     }