表单
form 标签
语法格式
- 定义表单;
<form action="/my-handling-form-page" method="post"></form>
属性
action
- 设置表单数据发送至的位置;
method
- 设置数据发送方法;
- get;
- post;
enctype
- 设置发送数据 Content-Type 的值;
表单控件通用属性
value
- 设置表单输入默认值;
- 推荐总是使用;
id
- 用于表单 for 属性;
- 推荐总是使用;
name
- 设置表单控件名称,以供服务端识别;
- 推荐总是使用;
form
- 属性值为关联表单 id 属性值;
- 表示控件关联到同一文档下的表单;
- 使其在 form 标签外部甚至其他 form 标签内部定义;
disabled
- 布尔属性;
- 表示禁止该标签;
required
- 布尔属性;
- 用于 input,select 和 textarea;
- 表明提交表单之前,需要填充一个值;
label 标签
语法格式
- 设置说明文字;
<label for="cheese">Do you like cheese?</label>
<label>Click me <input type="text" /></label>
可访问性
- 关键标签;
- label 标签与表单控件推荐一一对应;
关联机制
- 使用 for 属性关联 input id 属性,input 标签嵌套于 label 标签中;
- 点击 label 标签,同时作用于关联的表单控件;
output 标签
语法格式
- 显示多个关联控件的计算结果;
- 显示关联控件值;
<form oninput="result.value=parseInt(a.value)+parseInt(b.value)">
<input type="range" id="b" name="b" value="50" /> +
<input type="number" id="a" name="a" value="10" /> =
<output name="result" for="a b">60</output>
</form>
关联机制
- 使用 for 属性关联 input id 属性;
textarea 标签
语法格式
- 多行文本控件;
- 默认值放置于 opening 和 closing tags 之间;
<textarea name="textarea" rows="10" cols="50">Write something here</textarea>
resize 属性
- 通过 css 中的 resize 属性;
- 控制其是否可以调整大小;
属性
cols/rows
- 设置行/列可见字符数量;
- 正整数,默认为 20;
- 可通过拉伸修改;
wrap
- soft;
- 默认值;
- 浏览器渲染换行;
- 服务器提交不换行;
- hard:浏览器渲染和服务器都换行;
- off:浏览器渲染和服务器都不换行;
fieldset 标签
语法格式
- 语义标签;
- 将具有相同作用的控件组合;
<form>
<fieldset>
<legend>Fruit juice size</legend>
<p>
<input type="radio" name="size" id="size_1" value="small" />
<label for="size_1">Small</label>
</p>
<p>
<input type="radio" name="size" id="size_2" value="medium" />
<label for="size_2">Medium</label>
</p>
<p>
<input type="radio" name="size" id="size_3" value="large" />
<label for="size_3">Large</label>
</p>
</fieldset>
</form>
legend 标签
- 嵌套于 fieldset 标签;
- 声明 fieldset 标签中所有控件的作用;
<form>
<fieldset>
<legend>Fruit juice size</legend>
..;
</fieldset>
</form>