Head First HTML and CSS-HTML 表单

  • Post author:
  • Post category:其他


工作流程

首先要大致了解表单是如何进行工作的,我们访问一个包含表单的web页面,填写表单,将其提交给浏览器,然后,浏览器将表单中的所有数据打包发送给web服务器,接收后将其传给一个服务器脚本进行处理。服务器脚本处理数据后,创建一个全新的HTML页面作为响应,再将这个页面传回web服务器,web服务器再将这个响应发给浏览器,浏览器收到响应后显示页面。

<form>元素

<form action="http://wickedlysmart.com/practice/contest.php" method="post">
/*action属性包含web服务器的url/脚本所在的文件夹/脚本文件名,method属性确定表单数据如何发送到服务器*/
</form>

表单里有什么

<input>元素

文本输入

<input type="text" name="fullname">

提交输入

<input type="submit">

单选钮输入

<input type="radio" name="hotornot" value="hot">
<input type="radio" name="hotornot" value="not">

复选钮输入

<input type="checkbox" name="spice" value="Salt">
<input type="checkbox" name="spice" value="Pepper">
<input type="checkbox" name="spice" value="Garlic">

数字输入

<input type="number" min="0" max="20">

范围输入

<input type="range" min="0" max="20" step="5">

颜色输入

<input type="color">

日期输入

<input type="date">

email输入

<input type="email">

tel输入

<input type="tel">

url输入

<input type="url">

<textarea>元素

会创建一个多行的文本区,可以在其中输入多行文本。如果输入的文本在文本区中放不下,右边还会出现一个滚动条。

<textarea name="comments" rows="10" cols="48">

/*rows属性告诉浏览器文本区高度为多少个字符,cols属性告诉浏览器文本区宽度为多少个字符*/

</textarea>

<select>元素

会在Web页面中创建一个菜单控件,提供了一种从一组选项中做出选择的方法。

<option>元素

与<select>元素结合使用可以创建菜单。使用<option>元素来表示各个菜单项。

<select name="characters">
    <option value="qqq">qqqw</option>
    <option value="eee">eeew</option>
    <option value="rrr">rrrw</option>
    <option value="ttt">tttw</option>
</select>

method属性

浏览器主要使用的方法有两种:

POST

会打包你的表单数据,在后台把它们发送到服务器。

GET

会打包你的表单变量,但会把这些数据追加到URL的最后,然后向服务器发送一个请求。

如何选择

POST相较于GET,是私有的。而使用GET,用户可以对提交表单后的结果页面加书签。

两者对于发送的数据量都有一定的限制,POST相对能够宽松一些,所以,如果使用了<textarea>,就应该使用POST。

<label>标签

abel标签为input元素定义标注,它不会向用户呈现任何特殊效果,为鼠标用户改进了可用性,可以关联特定的表单控件,如果用户在 label 元素内点击文本,就会触发关联的表单控件。就是说,当用户选择该label标签时,浏览器就会自动将焦点转到和label标签相关的表单控件上。

<fieldset>和<legend>元素

<fieldset>元素可以将公共元素放在一起,<legend>元素为这一组提供一个标签。

<fieldset>
    <legend>Type: </legend> 
    <input type="radio" name="beantype" value="whole" id="whole">
    <label for= "whole">Whole bean</label> 
    <br>
    <input checked type="radio" name="beantype" value="ground" id="ground">
    <label for="ground">Ground </label>
</fieldset>

<password>元素

输入的文本会加入掩码。

<input type="password" name="secret">

文件输入

<input type="file" name="doc">

多选菜单

给<select>元素增加布尔属性multiple,就会把单选菜单变成多选菜单,不再显示一个下拉式菜单,在屏幕上显示所有菜单。选择时通过同时按下ctrl或command键,可以选择多个选项。

placeholder属性

这会为填写表单的人提供一个提示,这个属性的值会显示在控件中,但是比增加到控件中的值要浅一些,一旦单击这个文本域,占位文本就会消失。注意,如果这个文本域仍为空,提交表单后,占位内容不会作为控件值提交。

<div class="tableRow">
    <p>Name: </p>
    <p><input type="text" name="name" value="" placeholder="Judy"> </p>
</div>

required属性

这是一个布尔属性,对于设置这个属性的域来说,如果没有指定一个值,就会收到一个错误提示。

<input type="text" name="name" value="" placeholder="Judy" required>



版权声明:本文为liuyitingliuyihe原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。