HTML中Readonly和Disabled的区别

本文详细对比了HTML中ReadOnly和Disabled属性的功能与应用场景。ReadOnly适用于限制输入框内容修改但仍需提交的情况;Disabled则广泛用于所有表单元素,阻止用户更改且不参与提交。
ReadOnly和Disabled的作用是使用户不能够更改表单域中的内容,但是二者还是有着一些区别的:
1、Readonly只针对input(text/password)和textarea有效,而disabled对于所有的表单元素有效,包括select,radio,checkbox,button等。
在表单元素使用了disabled后,我们将表单以POST或者GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去

常用情况:
1、在某个表单中为用户预填了某个唯一识别代码,不允许用户改动,但是在提交时需要传递该值,此时将属性设置为readonly
2、当用户正式提交了表单后需要等待管理员的信息验证,不允许用户再更改表单中的数据,而是只能够查看,由于disabled的作用元素范围大,所以此时应该使用disabled,但同时应该注意的是要将submit button也disabled掉,否则只要用户按了这个按钮,如果在数据库操作页面中没有做完整性检测的话,数据库中的值会被清除。
3、在用户按了提交按钮后,利用javascript将提交按钮disabled掉,可防止在网络条件比较差的环境下,用户反复点击提交按钮导致数据冗余地存入数据库

摘自:
[url]http://hi.baidu.com/zidone/blog/item/78ae2cdd91fb06d88d10295e.html[/url]
### HTML input 元素的其他属性 除了 `readonly` `disabled` 之外,HTML 的 `<input>` 元素还提供了许多其他属性,用于控制输入框的行为外观。以下是一些常用的属性及其用途: #### `type` `type` 属性定义了输入框的类型,常见的值包括 `text`、`number`、`password`、`email`、`date` 等。不同类型的输入框适用于不同的数据输入场景。 ```html <input type="text" name="username" placeholder="请输入用户名"> <input type="password" name="password" placeholder="请输入密码"> ``` #### `value` `value` 属性用于设置输入框的默认值。当用户未输入内容时,该属性定义的内容将显示在输入框中。 ```html <input type="text" name="username" value="defaultUser"> ``` #### `placeholder` `placeholder` 属性提供了一个提示信息,当输入框为空时,会显示该提示内容。它通常用于指导用户输入正确的数据。 ```html <input type="text" name="username" placeholder="请输入用户名"> ``` #### `required` `required` 属性用于指定输入框不能为空。在表单提交时,如果输入框为空,浏览器会提示用户输入内容。 ```html <input type="text" name="username" required> ``` #### `min` `max` `min` `max` 属性用于限制输入框的最小值最大值。它们通常与 `type="number"` 或 `type="date"` 一起使用。 ```html <input type="number" name="age" min="18" max="99"> ``` #### `step` `step` 属性定义了输入框的步长值,通常与 `type="number"` 一起使用。它控制输入框中数值的递增或递减步长。 ```html <input type="number" name="quantity" min="0" max="10" step="2"> ``` #### `pattern` `pattern` 属性用于指定输入框内容的正则表达式规则。在表单提交时,输入内容必须符合该规则,否则会提示错误。 ```html <input type="text" name="username" pattern="[A-Za-z]{3,10}" title="用户名必须为3-10个字母"> ``` #### `autocomplete` `autocomplete` 属性用于控制输入框是否启用自动填充功能。常见的值包括 `on` `off`。 ```html <input type="text" name="username" autocomplete="on"> ``` #### `autofocus` `autofocus` 属性用于指定页面加载时,输入框是否自动获得焦点。 ```html <input type="text" name="username" autofocus> ``` #### `maxlength` `maxlength` 属性用于限制输入框中允许输入的最大字符数。 ```html <input type="text" name="username" maxlength="10"> ``` #### `size` `size` 属性用于定义输入框的可见宽度(以字符数为单位)。 ```html <input type="text" name="username" size="30"> ``` #### `list` `list` 属性用于关联 `<input>` 元素 `<datalist>` 元素,提供一个下拉列表供用户选择。 ```html <input type="text" name="browser" list="browsers"> <datalist id="browsers"> <option value="Chrome"> <option value="Firefox"> <option value="Safari"> </datalist> ``` #### `multiple` `multiple` 属性允许用户在单个输入框中输入多个值,通常与 `type="email"` 或 `type="file"` 一起使用。 ```html <input type="email" name="emails" multiple> ``` #### `name` `id` `name` `id` 属性用于标识输入框,在表单提交或 JavaScript 操作中非常有用。 ```html <input type="text" name="username" id="username"> ``` #### `class` `style` `class` `style` 属性用于为输入框应用 CSS 样式。 ```html <input type="text" name="username" class="form-control" style="width: 200px;"> ``` ### 总结 HTML 的 `<input>` 元素提供了丰富的属性,用于控制输入框的行为、外观交互。通过合理使用这些属性,可以满足各种表单输入需求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值