一、用input元素输入文字
type属性设置为text的input元素在浏览器中显示为一个单行文本框。
1. 设定元素大小
maxlength属性设定用户能够输入的字符的最大数目;
size属性设定文本框能够显示的字符数目。
<label for="username"></label> <input type="text" name="username" id="username" maxlength="10" size="20">
2. 设置初始值和占位式提示
value属性设定默认值;
placeholder属性设置一段提示文字,告知用户输入什么类型的数据。
<label for="address"></label> <input type="text" name="address" id="address" value="北京市"> <label for="tel"></label> <input type="text" name="telephone" placeholder="请输入电话号码">
3. 使用数据列表
可以将input元素的list属性设置为一个datalist元素的id属性值,这样用户在文本框中输入数据时只需从后一元素提供的一批选项中选择就行了。
<input type="text" name="city" list="cityList"> <datalist id="cityList"> <option value="BeiJing" label="北京市"></option> <option value="QingDao">青岛市</option> <option value="YanTai"></option> </datalist>
图 chrome下展示
图 firefox下展示
注意:在不同浏览器下表现会有所不同
(1)datalist元素中的每一个option元素都代表一个供用户选择的值,其value属性值在该元素代表的选项被选中时就是input元素所用的数据值;
(2)说明信息,可以通过label属性设置,也可以作为option元素的内容设置。
4. 生成只读或被禁用的文本框
readonly和disabled属性都可以用来生成用户不能编辑的文本框,其结果的外观不同。
<input type="text" name="readonly" value="readonly" readonly> <input type="text" name="disabled" value="disabled" disabled>
注意:设置了disabled属性的input元素的数据不能被提交到服务器;readonly属性的input元素的数据可以被提交到服务器;
建议:readonly属性需要谨慎使用(无视觉信号告知用户禁止编辑,用户不能输入,让用户困惑),应该考虑使用hidden类型的input元素;
二、用input元素为输入数据把关
1. 用input元素获取数值
type属性设置为number的input元素生成的输入框只允许接受数值。
min设定可接受的最小值;
max设定可接受的最大值;
step指定上下调节数值的步长。
<fieldset> <legend>number</legend> <label for="score">分数:</label> <input type="number" name="score" id="score" min="60" max="100" step="5"></fieldset>
2. 用input元素获取指定范围内的数值
range型input元素可以事先规定一个数值范围供用户选择。
<fieldset> <legend>range</legend> <label for="price">价格:</label> <span>1</span> <input type="range" name="price" id="price" min="0" max="100" step="5"> <span>100</span></fieldset>
3. 用input元素获取布尔型输入
checkbox型input会生成供用户选择是或否的复选框。
<fieldset> <legend>checkbox</legend> <input type="checkbox" name="agree" id="agree"> <label for="agree">同意条款</label></fieldset>
注意:提交表单时,只有处于勾选状态的复选框的数据值会发送给服务器(checkbox型input元素的数据项如果不存在于提交项中,则表明用户未勾选)。
4. 用input元素生成一组固定选项
radio型input元素用来生成一组单选按钮,供用户从一批固定的选项中作出选择。它适合于可用有效数据不多的情况。要生成一组互斥的选项,只需将所有相关input元素的name属性设置为同一个值即可。
<fieldset> <legend>选出你最喜欢的水果:</legend> <label for="oranges"> <input type="radio" value="oranges" id="oranges" name="fave"> Oranges </label> <label for="apples"> <input type="radio" value="apples" id="apples" name="fave" checked> Apples </label></fieldset>
5. 用input元素获取有规定格式的字符串
type属性设置为email、tel、url的input元素能够接受的输入数据分别为有效的电子邮箱地址、电话号码和URL。
<fieldset> <legend>规定格式的字符串</legend> <p> <label for="email"> 邮箱:<input type="email" name="email" id="email"> </label> </p> <p> <label for="password"> 密码:<input type="password" name="password" id="password"> </label> </p> <p> <label for="tel"> 电话:<input type="tel" name="tel" id="tel"> </label> </p> <p> <label for="url"> URL:<input type="text" name="url" id="url"> </label> </p></fieldset>
注意:上述类型input元素,只有在提交表单的时候才会检测用户输入的数据,且检查效果各不相同。
6. 用input元素获取时间和日期
type属性值 | 说明 | 示例(chrome下) |
---|---|---|
datetime | 获取世界时日期和时间,包括时区信息 | 根据填写情况 |
datetime-local | 获取本地日期和时间,不包括时区信息 | 根据填写情况 |
date | 获取本地日期 | 2016-08-12 |
month | 获取年月信息 | 2016-08 |
time | 获取时间 | 13:00 |
week | 获取当前星期 | 2016-W32 |
<fieldset> <legend>日期&时间</legend> <p> <label for="myDateTime"> 日期时间:<input type="datetime" name="myDateTime" id="myDateTime"> </label> </p> <p> <label for="myTime"> 时间:<input type="time" name="myTime" id="myTime"> </label> </p> <p> <label for="myDate"> 日期:<input t