html表单:
<form> 元素
HTML 表单(<form> 元素)用于收集用户输入。
表单元素指的是不同类型的 input 元素、复选框、单选按钮、提交按钮等等。
<input> 元素是最重要的表单元素。
<input> 元素有很多形态,根据不同的 type 属性。
文本输入类型:
<input type="text"> 定义用于文本输入的单行输入字段:
<form>
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>
<p>请注意表单本身是不可见的。</p>
<p>同时请注意文本字段的默认宽度是 20 个字符。</p>
</body>
运行:单选输入按钮类型:
<input type="radio"> 定义单选按钮。
单选按钮允许用户在有限数量的选项中选择其中之一:
<body>
<form>
<input type="radio" name="sex" value="male" checked>Male
<br>
<input type="radio" name="sex" value="female">Female
</form>
</body>
运行·:提交类型:
<input type="submit"> 定义用于向表单处理程序(form-handler)提交表单的按钮。
表单处理程序通常是包含用来处理输入数据的脚本的服务器页面。
表单处理程序在表单的 action 属性中指定:
<body>
<form action="/demo/demo_form.asp">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
<p>如果您点击提交,表单数据会被发送到名为 demo_form.asp 的页面。</p>
</body>
运行:action 属性
action 属性定义在提交表单时执行的动作。向服务器提交表单的通常做法是使用提交按钮。通常,表单会被提交到 web 服务器上的网页。如果省略 action 属性,则 action 会被设置为当前页面。
在上面的例子中,指定了某个服务器脚本来处理被提交表单:
<form action="/demo/demo_form.asp">
Method 属性
method 属性规定在提交表单时所用的 HTTP 方法(GET 或 POST)。
<form action="action_page.php" method="GET">
或者<form action="action_page.php" method="POST">
何时使用 GET?
如果表单提交是被动的(比如搜索引擎查询),并且没有敏感信息。当您使用 GET 时,表单数据在页面地址栏中是可见的。GET 最适合少量数据的提交。浏览器会设定容量限制。
何时使用 POST?
如果表单正在更新数据,或者包含敏感信息(例如密码)。
POST 的安全性更高,因为在页面地址栏中被提交的数据是不可见的。
Name 属性
如果要正确地被提交,每个输入字段必须设置一个 name 属性。
<body>
<form action="/demo/demo_form.asp">
First name:<br>
<input type="text" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
<p>如果您点击提交,表单数据会被发送到名为 demo_form.asp 的页面。</p>
<p>first name 不会被提交,因为此 input 元素没有 name 属性。</p>
</body>
运行:用 <fieldset> 组合表单数据
fieldset 标签 -- 对表单进行分组
在form表单中,我们可以对form中的信息进行分组归类,如注册表单的form,我们可以将注册信息分组成
基本信息(一般为必填)
详细信息(一般为可选)
那我们如何更好的来实现呢?我们可考虑在表单form中加入下面两个标签:
fieldset:对表单进行分组,一个表单可以有多个fieldset。
legend:说明每组的内容描述。
<body>
<form action="http://www.dreamdu.com/dreamdu.php" method="post" enctype="multipart/form-data" id="dreamduform">
<fieldset>
<legend>用户名与密码:</legend>
<input name="hiddenField" type="hidden" value="hiddenvalue" />
<label for="username">用户名:</label>
<input type="text" id="username" value="www.dreamdu.com" />
<label for="pass">密码:</label>
<input type="password" id="pass" />
</fieldset>
<fieldset>
<legend>性别:</legend>
<label for="boy">男</label>
<input type="radio" value="1" id="sex" />
<label for="girl">女</label>
<input type="radio" value="2" id="sex" />
<label for="sex">保密</label>
<input type="radio" value="3" id="sex" />
</fieldset>
<fieldset>
<legend>我最喜爱的:</legend>
<label for="computer">计算机</label>
<input type="checkbox" value="1" id="fav" />
<label for="trval">旅游</label>
<input type="checkbox" value="2" id="fav" />
<label for="buy">购物</label>
<input type="checkbox" value="3" id="fav" />
</fieldset>
</form>
</body>
运行:HTML Form 属性
HTML <form> 元素,已设置所有可能的属性,是这样的:
<form action="action_page.php" method="GET" target="_blank" accept-charset="UTF-8"
ectype="application/x-www-form-urlencoded" autocomplete="off" novalidate>
.
form elements
.
</form>
form所有属性:
accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。
action 规定向何处提交表单的地址(URL)(提交页面)。
autocomplete 规定浏览器应该自动完成表单(默认:开启)。
enctype 规定被提交数据的编码(默认:url-encoded)。
method 规定在提交表单时所用的 HTTP 方法(默认:GET)。
name 规定识别表单的名称(对于 DOM 使用:document.forms.name)。
novalidate 规定浏览器不验证表单。
target 规定 action 属性中地址的目标(默认:_self)。
html表单元素:
<input> 元素
最重要的表单元素是 <input> 元素。<input> 元素根据不同的 type 属性,可以变化为多种形态。
<option> 元素
<option> 元素定义待选择的选项。列表通常会把首个选项显示为被选选项。您能够通过添加 selected 属性来定义预定义选项。
<select> 元素(下拉列表)
<select> 元素定义下拉列表:
<body>
<form action="/demo/demo_form.asp">
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
<br><br>
<input type="submit">
</form>
</body>
运行:<textarea> 元素
<textarea> 元素定义多行输入字段(文本域):
<body>
<textarea name="message" rows="10" cols="30">
The cat was playing in the garden.
</textarea>
</body>
运行:<button> 元素
<button> 元素定义可点击的按钮:
<button type="button" onclick="alert('Hello World!')">按钮</button>
HTML5 表单元素
HTML5 增加了如下表单元素:
<datalist>
<keygen>
<output>
HTML5 <datalist> 元素
<datalist> 元素为 <input> 元素规定预定义选项列表。
用户会在他们输入数据时看到预定义选项的下拉列表。
<input> 元素的 list 属性必须引用 <datalist> 元素的 id 属性。
<body>
<form action="/demo/demo_form.asp">
<input list="browsers" name="browser">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
<input type="submit">
</form>
<p><b>注释:</b>Safari 或 IE9(以及更早的版本)不支持 datalist 标签。</p>
</body>
运行:html输入类型
输入类型:text
<input type="text"> 定义供文本输入的单行输入字段。
输入类型:password
<input type="password"> 定义密码字段。
输入类型:submit
<input type="submit"> 定义提交表单数据至表单处理程序的按钮.。
输入类型: radio
<input type="radio"> 定义单选按钮。
输入类型: checkbox
<input type="checkbox"> 定义复选框。
复选框允许用户在有限数量的选项中选择零个或多个选项。
输入类型: button
<input type="button> 定义按钮。
HTML5 输入类型
HTML5 增加了多个新的输入类型:
color
date
datetime
datetime-local
email
month
number
range
search
tel
time
url
week
输入类型:number
<input type="number"> 用于应该包含数字值的输入字段。您能够对数字做出限制。
<body>
<form action="">
User name:<br>
<input type="text" name="username" value="Mickey">
<br>
User password:<br>
<input type="password" name="psw" value="123456">
<br><br>
<input type="submit" value="提交">
</form>
<p>密码字段中的字符被掩码(显示为星号或圆点)。</p>
<input type="radio" name="sex" value="male" checked>Male
<br>
<input type="radio" name="sex" value="female">Female
<br>
<input type="checkbox" name="vehicle" value="Bike">I have a bike
<br>
<input type="checkbox" name="vehicle" value="Car">I have a car
<br>
<input type="button" onclick="alert('Hello World!')" value="定义按钮">
<p>html5 number元素</p>
Quantity:
<input type="number" name="points"
min="0" max="100" step="10" value="30">
<input type="submit">
</body>
运行:输入类型:date
<input type="date"> 用于应该包含日期的输入字段。
根据浏览器支持,日期选择器会出现输入字段中。
输入类型:color
<input type="color"> 用于应该包含颜色的输入字段。
根据浏览器支持,颜色选择器会出现输入字段中。
输入类型:range
<input type="range"> 用于应该包含一定范围内的值的输入字段。
根据浏览器支持,输入字段能够显示为滑块控件。
输入类型:month
<input type="month"> 允许用户选择月份和年份。
根据浏览器支持,日期选择器会出现输入字段中。
输入类型:week
<input type="week"> 允许用户选择周和年。
根据浏览器支持,日期选择器会出现输入字段中。
<body>
<p>
当您填写输入字段时会弹出日期选择器。
</p>
<form action="/demo/demo_form.asp">
生日:
<input type="date" name="bday">
<input type="submit">
</form>
<br>
<p>点击会弹出取色器</p>
<form action="action_page.php">
Select your favorite color:
<input type="color" name="favcolor" value="#ff0000">
<input type="submit">
</form>
<br>
<p>
输入类型 "range" 可显示为滑动控件。
</p>
<form action="/demo/demo_form.asp" method="get">
Points:
<input type="range" name="points" min="0" max="10">
<input type="submit">
</form>
<br>
<p>
当您填写输入字段时会弹出日期选择器。
</p>
<form action="/demo/demo_form.asp">
生日(月和年):
<input type="month" name="bdaymonth">
<input type="submit">
</form>
<br>
<form action="action_page.php">
第几周:
<input type="week" name="year_week">
<input type="submit">
</form>
</body>
运行:输入类型:time
<input type="time"> 允许用户选择时间(无时区)。
根据浏览器支持,时间选择器会出现输入字段中。
输入类型:datetime
<input type="datetime"> 允许用户选择日期和时间(有时区)。
根据浏览器支持,日期选择器会出现输入字段中。
输入类型:datetime-local
<input type="datetime-local"> 允许用户选择日期和时间(无时区)。
根据浏览器支持,日期选择器会出现输入字段中。
输入类型:email
<input type="email"> 用于应该包含电子邮件地址的输入字段。
根据浏览器支持,能够在被提交时自动对电子邮件地址进行验证。
某些智能手机会识别 email 类型,并在键盘增加 ".com" 以匹配电子邮件输入。
输入类型:search
<input type="search"> 用于搜索字段(搜索字段的表现类似常规文本字段)。
输入类型:url
<input type="url"> 用于应该包含 URL 地址的输入字段。
根据浏览器支持,在提交时能够自动验证 url 字段。
<body>
<p>
当您填写输入字段时会弹出日期选择器。
</p>
<form action="/demo/demo_form.asp">
请选取一个时间:
<input type="time" name="usr_time">
<input type="submit">
</form>
<br>
输入类型:datetime-local
<input type="datetime-local"> 《br>
允许用户选择日期和时间(无时区)。
根据浏览器支持,日期选择器会出现输入字段中
<br>
<form action="/demo/demo_form.asp">
E-mail:
<input type="email" name="email">
<input type="submit">
</form>
<br>
<form action="/demo/demo_form.asp">
搜索谷歌:
<input type="search" name="googlesearch">
<input type="submit">
</form>
<br>
<form action="action_page.php">
请添加您的首页:
<input type="url" name="homepage">
<input type="submit">
</form>
</body>
运行: