`
flowercat
  • 浏览: 361755 次
社区版块
存档分类
最新评论

submit和button提交表单的区别

    博客分类:
  • java
阅读更多

(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)而同样的写法,进行如上的操作,却不会提交
可能是有两个文本输入框的缘故吧(注意:上边仅有一个)。
<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>


在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代码
<from action="" method="post" onSubmit="check()">  
...............   
</from>  


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

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

 


在ie下,<button>标记恐怕还存在几个不大不小的问题。

  1. 在一个表单里,如果有一个以上"submit"类型的<button>标签存在,在表单被提交时,不管你点击哪 个<button>,所有<button>的值都会被post/get。
  2. <button>的缺省type属性被设置为"button",但是在A级别浏览器下,应该设置为"submit"才对
  3. 如果你用javascript去访问<button>的value属性,IE却返回了<button>的 innerHTML属性,很让人恼火。 (可以使用"getAttributeNode"方法来避免.)

例如,一段

CODE:
  1. <form>
  2. <button type="submit" value="1" name="action-1" >text 1 </button>
  3. <button type="submit" value="2" name="action-2" >text 2 </button>
  4. </form>

在IE下,上面两个button的数据都会被提交。并且ie会提交这两个button的innerText而不是value。而其它浏览器仅仅提交 你点击的那个button。

 

IE6与FireFox的区别,IE6下button标签的type默认是button,而Firefox下却是submit

分享到:
评论

相关推荐

    JavaScript在form表单中使用button按钮实现submit提交方法

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

    html中submit和button的区别

    在HTML中,`&lt;input&gt;`标签用于创建各种类型的输入控件,如文本框、密码框、复选框等,而`submit`和`button`则是其中的两种类型,主要用于用户交互,尤其是表单提交的操作。 ### submit `submit`是一种特殊类型的`...

    submit和button的区别

    首先,`submit`是一个特殊的`button`类型,它默认具有提交表单的功能。当用户点击`submit`类型的按钮或按下回车键时,表单中的数据会被发送到服务器进行处理。如果在表单中只有一个`submit`按钮,那么点击这个按钮就...

    submit表单提交,onsubmit验证拦截

    submit表单提交,onsubmit验证拦截 免去了用button按钮click点击事件ajax请求

    JS button按钮实现submit按钮提交效果

    今天在使用表单是同时使用POST...然而form表单的 submit 且一旦提交则全部提交,所以想到的实现方法就是 使用button实现,怎么实现呢?下面小编给大家分享JS button按钮实现submit按钮提交效果,感兴趣的朋友参考下吧

    在javaScript中关于submit和button的区别介绍

    submit和button,二者都以按钮的形式展现,看起来都是按钮,所不同的是type属性和处发响应的事件上,submit会提交表单,button不会提交表单. 两者主要区别在于: submit默认为form提交,可以提交表单

    js表单提交和submit提交的区别实例分析

    在这个例子中,`&lt;input type="submit"&gt;`按钮会触发表单的提交和执行`test()`函数,而`&lt;input type="button"&gt;`按钮则只会调用`test()`函数,并不会提交表单。`test()`函数中调用了`document.getElementById('myform')...

    在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码

    在一个网页表单(form)中,通常我们通过设置不同的提交按钮(submit或button)来实现将数据提交至不同的处理页面。然而,在某些特定情况下,我们可能需要仅使用一个提交按钮(submit或button)来将表单数据同时提交到两个...

    js实现定时提交表单

    document.getElementById('submitButton').disabled = true; // 禁用提交按钮 // 或者,阻止表单的默认提交事件(需要在表单的submit事件处理函数中) document.getElementById('yourFormId').addEventListener...

    js提交表单的三种方式

    当用户点击`&lt;form&gt;`元素内的`&lt;input type="submit"&gt;`或`&lt;button type="submit"&gt;`时,浏览器会按照`&lt;form&gt;`标签的`action`属性指定的URL发送表单数据,并根据`method`属性(默认为`GET`或`POST`)确定请求类型。...

    javascript方式防止表单重复提交

    var submitButton = document.getElementById('submitButton'); if (!submitButton.disabled) { submitButton.disabled = true; // 提交表单的逻辑 } }); ``` 2. **使用一次性令牌(Token)**:服务器可以...

    用image来提交form不想使用button提交form.docx

    例如,在JavaScript中设置表单的`action`和`submit()`方法,然后提交表单。这种方法确保了只有一次提交: ```html &lt;!-- 表单内容 --&gt; &lt;img id="submitBtn" src="submit_button.png" alt="Submit" onclick="form...

    JS中type="button"和type="submit"的区别

    另一方面,`type="button"`的按钮不会触发表单的自动提交,所以如果需要提交表单,你需要在`onclick`事件中明确调用`form.submit()`。这样做的好处是你可以在`onclick`事件中执行任何需要的逻辑,而不会立即触发表单...

    sp\button和submit的区别及使用js实现页面跳转的方式

    Button和Submit是两个常用的HTML表单元素,它们都是用于提交表单的,但是它们之间存在着一些区别。 首先,Button类型的按钮仅仅是一个普通的按钮,点击它不会自动提交表单,而Submit类型的按钮则会自动提交表单。...

    form.submit()不能提交表单的错误原因及解决方法

    在本文中,我们将深入探讨一个可能导致`form.submit()`无法提交表单的错误原因,以及如何解决这个问题。 首先,我们要理解`form.submit()`这个JavaScript方法。它是HTML表单对象的一个方法,用于触发表单的提交动作...

    利用ajax提交表单完整流程

    &lt;button type="submit"&gt;提交&lt;/button&gt; ``` ### 2. 阻止默认表单提交 为了让AJAX提交生效,我们需要阻止表单的默认提交行为。这通常在表单的`submit`事件处理器中完成: ```javascript document.getElementById...

    js和jq使用submit方法无法提交表单的快速解决方法

    在JavaScript和jQuery中,`submit`方法用于监听或触发HTML表单的提交事件。然而,有时在实际开发中,我们可能会遇到使用`submit`方法却无法正常提交表单的情况,导致页面刷新或预期的异步操作未执行。本文将探讨这个...

    ajax提交表单到后台

    &lt;button type="submit"&gt;提交&lt;/button&gt; ``` 3. **使用AJAX提交表单**:在JavaScript中监听表单的提交事件,使用`$.ajax`方法进行异步提交: ```javascript $('#myForm').on('submit', function(event) { ...

    页面提交submit的几种方法

    这里的`stat()`函数用于验证表单中的开始时间和结束时间是否符合要求,如果验证通过,则通过调用`document.form1.submit()`来提交表单。 #### 方法二:使用`&lt;input type="submit"&gt;`实现表单提交 `&lt;input type="...

    input submit、button和回车键提交数据详解

    总的来说,`input[type="submit"]`、`button[type="submit"]` 和回车键都能触发表单提交,但它们各有特点和使用场景。`input[type="submit"]` 更简单但样式受限,`button[type="submit"]` 提供更多定制空间,回车键...

Global site tag (gtag.js) - Google Analytics