zoukankan      html  css  js  c++  java
  • button和submit区别

    type=button      就单纯是按钮功能  

    type=submit      是发送表单

    但是对于从事WEB UI的人应该要注意到,使用submit来提高页面易用性:

    使用submit后,页面支持键盘enter键操作,而很多WEB软件设计师,可能没有注意到submit统一.

    用button后往往页面不支持enter键了。所以需要支持enter键,必须要设置个submit,默认enter键对页面第一个submit进行操作。

    ==========================

    <input type="submit" name="b1" value="提交"     onClick="bt_submit_onclick()">

    执行完onClick,转到actionsubmit:提交按钮,点击之后直接将数据提交的服务器端,不会对鼠标的mousepressed等操作进行处理,也不触发脚本。。。

    button:简单的按钮,有按钮的一些事务处理,有脚本就通过脚本将参数传过去

    可以自动提交不需要onClick。所以说onclick这里可以不要。<input type="button" name="b1" value="提交"     onClick="bt_submit_onclick()">

    执行完onClick,跳转文件在 js文件里控制。提交需要onClick。

    比如:

    1,onclick="form1.action='a.jsp';form1.submit();"     这样就实现了submit的功能了。

    2,<form    name="form1"    method="post"    action="http://www.sina.com.cn">  

           <input    type="button"    name="Button"    value="Button"    onClick="submit()">  

       </form>

    3,<input    type="button"    name="Button"    value="Button"    onClick="javascript:windows.location.href="你的url"">

    submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了。
    如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成button,即取消其自动提交的行为,否则,将会造成提交两次的效果,对于动态网页来说,也就是对数据库操作两次。或者在使用submit时验证时加return true或false。

    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中根据提交按钮的值来区别操作

    ======================关于路径的设置===================================
    A.在页面中直接写路径,如 href="jsp/a.html" 表示 平级目录的访问,此例表示平级目录中有个JSP文件夹,访问的是文件夹中的a.html文件
    B.在JAVA中直接写路径,如 response.sendRedirect("jsp/a.jsp")表示项目根目录下有个JSP文件夹,访问的是文件夹中的a.jsp文件
    C.如果发现以上设置在浏览器中的地址栏不正确,可以采取绝对路径写法:/工程名/文件夹名/文件名

    但是对于从事WEB UI的人应该要注意到,使用submit来提高页面易用性:
    使用submit后,页面支持键盘enter键操作,而很多WEB软件设计师,可能没有注意到submit统一.
    用button后往往页面不支持enter键了。所以需要支持enter键,必须要设置个submit,默认enter键对页面第一个submit进行操作。

    <input type="submit" name="b1" value="提交" onClick="bt_submit_onclick()">
    执行完onClick,转到action。可以自动提交不需要onClick,所以说onclick这里可以不要。

    <input type="button" name="b1" value="提交" onClick="bt_submit_onclick()">
    执行完onClick,跳转文件在 js文件里控制,提交需要onClick.如果这儿没有 onClick

    例如:
    type="submit"
    <form id="frm1" action="<%=request.ServerVariables("Script_Name")%>" method="post" onSubmit="return check_submit(this)">
    <input id="btnconfirm" type="submit" value="确定" name="btnconfirm"></form>

    type="button"
    <form id="frmAddModi" action="<%=request.ServerVariables("Script_Name")%>" method="post" name="frmAddModi" >
    <input id="btnconfirm" type="button" value="确定" name="btnconfirm" onClick="check(frmAddModi);"/></form>


  • 相关阅读:
    使用自定义注解动态绑定多实现类实例
    使用策略模式和工厂模式动态绑定多实现类实例
    使用责任链模式动态绑定多实现类实例
    使用模板方法模式动态绑定多实现类实例
    IDEA 调试Java代码的两个技巧
    Maven中dependencyManagement标签的正确使用方法
    Spring注解之获取自定义注解信息
    Spring注解之自定义注解入门
    Spring 动态绑定多实现类实例综述
    数据迁移测试
  • 原文地址:https://www.cnblogs.com/baoendemao/p/3804776.html
Copyright © 2011-2022 走看看