表单
form属性
method属性:规定用于发送 form-data 的 HTTP 方法。实际上就是请求的方式。
name属性:表单的名称。
action属性:指定表单请求的路径
target属性:指定action的Url在哪里打开
method
作用:定义表单提交数据时的方式
取值:
1、get (默认值)
意义为:得到,获取
场合:向服务器要数据时使用
特点:
1、明文提交,所提交的数据时可以显示在地址栏上的-安全性较低
2、提交数据有大小限制-最大为2KB
2、post
意义:邮寄,邮递
场合:将数据提交给服务器处理时使用(有保密类型数据时)
特点:
1、隐式提交-所提交的内容是不会显示在地址栏上的,安全性较高
2、无大小限制
3、enctype
作用:编码类型,即表单数据进行编码的方式
允许表单将什么样的数据提交给服务器
取值:
1、application/x-www-form-urlencoded
默认值
允许将 普通字符,特殊字符,都提交给服务器,不允许提交 文件
2、multipart/form-data
允许 将文件提交给服务器
3、text/plain
只允许提交普通字符。特殊字符,文件等都无法提交
action
定义表单被提交时发生的动作
提交给服务器处理程序的地址
注意:通过 与服务器端人员交流 得到 action 的地址
默认,提交给本页
target属性=>a标签相同
_blank:指定action的Url在新开的浏览器窗口中
_parent:指定action的Url在父级浏览器窗口中
_self:指定action的Url在当前浏览器窗口中
_top:指定action的Url在顶级浏览器窗口中
杀毒软件拦截请求一般会在新打开的页面拦截,也就是使用了target属性的“_blank”。默认情况也会是“_blank”,所以会被拦截到。不重新发开新的浏览器窗口,就不会拦截。所有解决办法将”_blank”属性改为“_self”就会解决此问题。
表单控件
input
autocomplete on/off 规定是否使用输入字段的自动完成功能。
autofocus autofocus 规定输入字段在页面加载时是否获得焦点。(不适用于 type="hidden")
checked checked 规定此 input 元素首次加载时应当被选中。
disabled disabled 当 input 元素加载时禁用此元素。
multiple multiple 如果使用该属性,则允许一个以上的值。
name field_name 定义 input 元素的名称。
pattern regexp_pattern
规定输入字段的值的模式或格式。
例如 pattern="[0-9]" 表示输入值必须是 0 与 9 之间的数字。
placeholder text 规定帮助用户填写输入字段的提示。
readonly readonly 规定输入字段为只读。
required required 指示输入字段的值是必需的。
type
button=>按钮
checkbox=>多选框
file=>提交文件
hidden
image=>图片
password=>密码
radio=>单选框
reset=>重置
submit=>提交
text=>文本
value value 规定 input 元素的值。
文本框与密码框
文本框:明文显示用户输入的数据
<input type="text">
密码框:密文显示用户输入的数据
<input type="password">
属性
1、name
缩写:txt
ex:
1、创建一个文本框,表示 接受 用户名称(Username)
<input type="text" name="txtUsername">
2、创建一个密码框,表示 接受 用户密码(Userpwd)
<input type="password" name="txtUserpwd">
2、value
1、表示控件的值
2、表示控件的默认值
3、maxlength
限制输入的字符数
4、readonly
只读-只能看,不能改
该属性只要出现在标记中,就是只读的意思,不需要给值
readonly 与 disabled 的区别
1、readonly 只能看,不能改,但是可以被提交给服务器
2、disabled 只能看,不能改,但是不能提交给服务器
注意:对于input来讲,如果不写 type 或者 type值写错的时候,默认都是文本框
2、单选按钮和复选框
单选按钮:type="radio"
复选框:type="checkbox"
属性:
1、name
定义名称
radio缩写:rdo
checkbox缩写:chk
还可以对控件进行分组,一组单选按钮和复选框,名称必须相同
对于单选按钮:一组中的单选按钮,最多只能有一个被选中
2、checked
设置默认被选中
3、按钮
1、提交按钮
功能固定化,负责将表中中的表单控件提交给服务器
<input type="submit">
2、重置按钮
功能固定化,负责将所有表单控件的值恢复为初始值
<input type="reset">
3、普通按钮
无功能,执行客户端的脚本(JS)
<input type="button">
属性:
1、name
缩写:btn
2、value
按钮上的显示文本
4、隐藏域 和 文件选择框
1、隐藏域
不希望被用户看见,但是要提交给服务器的信息
<input type="hidden">
name :txt+功能名称
value :值
2、文件选择框
上传文件所用
<input type="file">
name : txt+功能名称
3、textarea - 多行文本域
作用:允许用户录入多行数据到表单控件中
语法:<textarea></textarea>
属性:
1、name
缩写:txt+功能名称
2、readonly
只读
3、cols
指定文本区域的列数, 变相设置当前元素宽度
4、rows
指定文本区域的行数,变相设置当前元素高度
4、选项框
1、分类
1、下拉选项框
2、滚动列表
2、语法
1 、<select></select> 创建选项框
属性:
1、name
缩写:sel+功能名称
2、size
取值 大于1的话,则为滚动列表
否则就是下拉选项框
3、multiple
设置多选,该属性出现在 <select>中,那么就允许多选(针对滚动列表)
2、<option>显示文本</option> 选项
属性:
1、value
选项的值
2、selected
预选中
注意:如果不设置selected属性的话,那么选项框中的第一项会默认被选中。
5、其他元素
1、为控件分组
<fieldset></fieldset> : 为控件分组
<legend></legend> : 为分组指定一个标题
2、<label> 元素
功能:关联 文本 与表达元素的,点击文本时,如同点击表单元素一样
语法:
<label>文本</label>
属性:
for :表示与该label相关联的表单控件元素的ID值
<input id="man" name="sex" value="男"><label for="man">男</label></input>
button
在 button 元素内部,您可以放置内容,比如文本或图像。这是该元素与使用 input 元素创建的按钮之间的不同之处。
button与input type=button与type=submit
HTML <button> 和 input type=“button”的区别:
1. <button>标签里可以放文本图片等内容,与<input>创建的按钮不同。
2. <input>中的button通常与javascript一起使用启动脚本。如:<input type="button" value="点我" onclick="msg()"> 。
3. 如果在 HTML 表单中使用 <button> 元素,不同的浏览器可能会提交不同的按钮值。通常用<input>在 HTML 表单中创建按钮。
input type="submit" 和"button"的区别:
1. button只是一个按钮,不写javascript什么也不会发生。
2. submit点击后会自动提交form,除非写javascript来阻止。
总结:
在一个页面上画一个按钮,有四种办法:
<input type="button" /> 这就是一个按钮。如果你不写javascript 的话,按下去什么也不会发生。
<input type="submit" /> 这样的按钮用户点击之后会自动提交 form,除非你写了javascript 阻止它。
<button> 这个按钮放在 form 中也会点击自动提交,比前两个的优点是按钮的内容不光可以有文字,还可以有图片等多媒体内容。(当然,前两个用图片背景也可以做到)。它的缺点是不同的浏览器得到的 value 值不同;可能还有其他的浏览器兼容问题。
其他标签,例如 a, img, span, div,然后用图片把它伪装成一个按钮。
form表单提交onclick和onsubmit
onsubmit只能表单上使用,提交表单前会触发, onclick是按钮等控件使用, 用来触发点击事件。
在提交表单前,一般都会进行数据验证,可以选择在submit按钮上的onclick中验证,也可以在onsubmit中验证。
但是onclick比onsubmit更早的被触发。
提交过程
1、用户点击按钮 ---->
2、触发onclick事件 ---->
3、onclick返回true或未处理onclick ---->
4、触发onsubmit事件 ---->
5、onsubmit未处理或返回true ------>
6、提交表单.
onsubmit处理函数返回false,onclick函数返回false,都不会引起表单提交。
select
multiple multiple 规定可选择多个选项。
size number 规定下拉列表中可见选项的数目。
注意两种select就好了
details
<details>
<summary>Copyright 2011.</summary>
<p>All pages and graphics on this web site are the property of W3School.</p>
</details>