• button与submit


    原文来自:

    http://blog.sina.com.cn/s/blog_693d183d0100uolj.html

    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>

  • 相关阅读:
    记一道乘法&加法线段树(模版题)
    2021CCPC网络赛(重赛)题解
    Codeforces Round #747 (Div. 2)题解
    F. Mattress Run 题解
    Codeforces Round #744 (Div. 3) G题题解
    AtCoder Beginner Contest 220部分题(G,H)题解
    Educational Codeforces Round 114 (Rated for Div. 2)题解
    Codeforces Global Round 16题解
    Educational Codeforces Round 113 (Rated for Div. 2)题解
    AtCoder Beginner Contest 182 F
  • 原文地址:https://www.cnblogs.com/candl/p/4142509.html
Copyright © 2020-2023  润新知