表单是可以把浏览者输入的数据传送到服务器端的程序(比如ASP,PHP)的HTML元素,服务器端程序可以处理表单传过来的数据,从而进行一些动作.
表单用form标签来定义,form表单只要有以下几个属性:
name--用来标识这个表单,在javascript中可以通过 document.表单名 来取得这个表单
action--浏览者输入的数据被传送到的地方. method--表示提交方式,可以选择post和get,默认为get方式.两种方式的区别: post--所有提交的参数都会隐藏,没有参数的大小限制,建议使用该方式 get--所有提交参数都会在地址栏显示,参数总量最大4-5K.不建议使用 enctype--表示表单的封装方式,只有在进行文件上传时才会使用,当执行文件上传时,必须将这个值设置为 enctype="multipart/form-data" onsubmit--当表单提交时自动执行的javascript事件,一般在需要进行提交验证时使用.input标签
input标签代表html表单的单行输入域,input标签分为3种类型
1.输入型--包括text,password,file.
2.选择型--包括checkbox和radio
3.点击型--包括button,image,sbumit,reset.
其中除了name属性是必选的以外,其他属性都是可选的。这些属性的功能和用法介绍如下:
name--该属性用于指定保存用户输入文本的变量和名称 title--该属性用于input元素的标签,通常是位于输入框前的提示信息。 type--用于指定文本输入区的类型. value--该属性用于指定name属性所定义变量的值,它将显示在输入框中。 default--该属性用于指定name属性所定义变量的默认值。 format--该属性用于格式化输入的数据。 maxlength--该属性用于指定用户可输入字符串的最大长度。该属性的上限为256,最多不能超过256个字符。 emptyok--用于指定用户是否可以不在输入框内输入内容。 size--该属性用于指定输入框的宽度,宽度值为字符个数。 tabindex--用于指定多个输入框存在时,类似于HTML中Tab键的具体位置。示例:
<input name="variable" title="label" type="type" value="value" default="default" format="specifier" emptyok="false|true" size="n" maxlength="n" tabindex="n"/>
input标签的type属性值有以下几种:
text -- 文字输入域(输入型)
password -- 也是文字输入域,但是输入的文字以密码符号'*'显示(输入型) file -- 可以输入一个文件路径(输入型) checkbox -- 复选框.可以选择零个或多个(选择型) radio -- 单选框.只可以选择一个而且必须选择一个(选择型) hidden -- 代表隐藏域,可以传送一些隐藏的信息到服务器 button -- 按钮(点击型) image -- 使用图片来显示按钮,使用src属性指定图像的位置(就像img标签的src屬性)(点击型) submit -- 提交按钮,表单填写完毕可以提交,把信息传送到服务器.可以使用value属性來显示按鈕上的文字(点击型) reset -- 重置按钮,可以把表单中的信息清空(点击型)input标签的checked属性
checked是使选择型输入域或者框被选中.如:<input type="checkbox" id="11" name="22" checked="checked" />
input标签的disabled属性
disabled属性是禁止对输入域进行操作.<input type="checkbox" id="11" name="22" disabled="disabled" />
input标签的disabled属性
readonly属性表示只读(只能看到,不能修改)的输入域(框).<input type="checkbox" id="11" name="22" readonly="readonly" />
textarea标签
textarea标签代表html表单的多行输入域.有以下属性:
cols--多行输入域的列数
rows--多行输入域的行数 accesskey--表单的快捷键访问方式 disabled--输入域无法获得焦点,无法选择,以灰色显示,在表单中不起任何作用 readonly--输入域可以选择,但是无法修改 tabindex--输入域,使用"tab"键的遍历顺序如:<textarea cols="50" rows="10" id="jianyi" name="jianyi">默认值,可有可无</textarea>
select标签
select标签可创建单选或多选菜单.主要属性有以下几种
size -- 选择域的高度
multiple -- 可以有多个选择 disabled -- 输入框无法获得焦点,无法选择,以灰色显示,在表单中不起任何作用 tabindex -- 使用"tab"键的遍历顺序 name --规定下拉列表的名称。示例:
<select size="1" id="select" name="select">
<option>北京市</option> <option>上海市</option> <option>天津市</option> <option>重庆市</option> </select>select标签下的option标签
代表选择列表的一个选择项,属性如下:
label -- 说明选择项
value -- 说明选择项的值 selected -- 此选择项已经被选择 disabled -- 输入框无法获得焦点,无法选择,以灰色显示,在表单中不起任何作用 tabindex -- 使用"tab"键的遍历顺序select标签下的optgroup标签
optgroup标签代表分组选择项的类别名(此类别名不能选择),有个label属性,是选择项的标题,对选择项进行说明.
示例:
<select id="WebDesign" name="WebDesign">
<optgroup label="client"> <option value="HTML">HTML</option> <option value="CSS">CSS</option> <option value="javascript">javascript</option> </optgroup> <optgroup label="server"> <option value="PHP">PHP</option> <option value="ASP">ASP</option> <option value="JSP">JSP</option> </optgroup> <optgroup label="database"> <option value="Access">Access</option> <option value="MySQL">MySQL</option> <option value="SQLServer">SQLServer</option> </optgroup> </select>label标签
label标签是为 input 元素定义标注.
label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
<label> 标签的 for 属性应当与相关元素的 id 属性相同。
示例:
<form>
<label for="name">姓名</label>
<input type="text" id="name" />
</form>
fieldset和legend标签
fieldset 标签--对表单进行分组
legend 标签 -- 对表单的每组内容进行说明表单综合示例:
<form id="xinxi" action="chuli.php" method="post">
<p> <fieldset> <legend>姓名密码单行输入</legend> <label for="name">姓名:<input type="text" id="name"/></label> <label for="password">密码:<input type="password" id="password"/></label> <label for="guoji">国籍:<input type="text" id="guoji" value="中国" readonly="readonly" /></label> </fieldset> </p> <p> <fieldset> <legend>性别单选</legend> <label for="nan">男:<input type="radio" name="sex" id="nan"/></label> <label for="nv">女:<input type="radio" name="sex" id="nv"/></label> <label for="baomi">保密:<input type="radio" name="sex" id="baomi"/></label> </fieldset> </p> <p> <fieldset> <legend>爱好多选</legend> <label for="xuexi">学习<input type="checkbox" name="aihao" id="xuexi" checked="checked" /></label> <label for="lvyou">旅游<input type="checkbox" name="aihao" id="lvyou" /></label> <label for="diaoyu">钓鱼<input type="checkbox" name="aihao" id="diaoyu" /></label> <label for="zuguo">祖国<input type="checkbox" name="aihao" id="zuguo" checked="checked" disabled="disabled" /></label> </fieldset> </p> <p> <fieldset> <legend>单行单选下拉列表</legend> <label for="shengfen">选择省份</label> <select size="1" name="xuanze" id="shengfen"> <option value="1">山东省</option> <option value="2">河北省</option> <option value="3" selected="selected">江苏省</option> <option value="4">浙江省</option> <option value="5">安徽省</option> <option value="6">湖南省</option> </select> </fieldset> </p> <p> <fieldset> <legend>多行单选或ctrl单击多选下拉列表</legend> <label for="chengshi">选择城市</label> <select size="5" name="xuanze" multiple="multiple" id="chengshi"> <option value="1">济南市</option> <option value="2">石家庄市</option> <option value="3" selected="selected">南京市</option> <option value="4">杭州市</option> <option value="5">合肥市</option> <option value="6">长沙市</option> </select> </fieldset> </p> <p> <fieldset> <legend>分组单选下拉列表</legend> <label for="fenzu"></label> <select size="1" name="xuanze" id="fenzu"> <optgroup label="山东省"> <option value="jinan">济南市</option> <option value="qingdao">青岛市</option> <option value="yantai">烟台市</option> <option value="weihai">威海市</option> </optgroup> <optgroup label="河南省"> <option value="zhengzhou">郑州市</option> <option value="kaifeng">开封市</option> <option value="luoyang">洛阳市</option> <option value="xinyang">信阳市</option> </optgroup> <optgroup label="湖南省"> <option value="changsha">长沙市</option> <option value="xiangtan">湘潭市</option> <option value="yueyang">岳阳市</option> <option value="huaihua">怀化市</option> </optgroup> <optgroup label="四川省"> <option value="chengdu">成都市</option> <option value="mianyang">绵阳市</option> <option value="yibin">宜宾市</option> <option value="leshan">乐山市</option> </optgroup> </select> </fieldset> </p> <p> <fieldset> <legend>文件上传以及留言文字域</legend> <label for="wenjian">上传文件: <input type="file" name="shangchuan" id="wenjian" size="35" maxlength="255" /> </label> <br /><br /> <label for="">留言<br /> <textarea cols="50" rows="10">默认留言,可有可无</textarea> </label> </fieldset> </p> <p> <fieldset> <legend>按钮</legend> <input type="submit" value="提交" name="anniu" id="tijiao" /> <input type="reset" value="重写" name="anniu" id="chongxie" /> <input type="image" src="http://www.baidu.com/img/baidu_sylogo1.gif" title="这是图像按钮" /> <input type="button" value="普通按钮" name="anniu" id="anniu" /> </fieldset> </p> </form>