`

form中input的readonly和disabled的区别

阅读更多
Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容。但是它们之间有着微小的差别,总结如下:
Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等。但是表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去(这句话的意思是后台得到的值是空值,填什么后台都拿不到,但是依然可以存储),而readonly会将该值传递出去(这种情况出现在我们将某个表单中的textarea元素设置为disabled或readonly,但是submit button却是可以使用的)。

一般比较常用的情况是:

①在某个表单中为用户预填了某个唯一识别代码,不允许用户改动,但是在提交时需要传递该值,此时应该将它的属性设置为readonly

②经常遇到当用户正式提交了表单后需要等待管理员的信息验证,这就不允许用户再更改表单中的数据,而是只能够查看,由于disabled的作用元素范围大,所以此时应该使用disabled,但同时应该注意的是要将submit button也disabled掉,否则只要用户按了这个按钮,如果在数据库操作页面中没有做完整性检测的话,数据库中的值就会被清除。如果说在这种情况下用readonly来代替disabled的话,若表单中只有input(text / password)和textarea元素,那还是可以的,如果存在其他发元素,比如select,用户可以在重新改写值后按回车键进行提交(回车是默认的submit触发按键)

③我们常常在用户按了提交按钮后,利用javascript将提交按钮disabled掉,这样可以防止网络条件比较差的环境下,用户反复点提交按钮导致数据冗余地存入数据库。


disabled和readonly这两个属性有一些共同之处,比如都设为true,则form属性将不能被编辑,往往在写js代码的时候容易混合使用这两个属性,其实他们之间是有一定区别的。

如果一个输入项的disabled设为true,则该表单输入项不能获取焦点,用户的所有操作(鼠标点击和键盘输入等)对该输入项都无效,最重要的一点是当提交表单时,这个表单输入项将不会被提交。

而readonly只是针对文本输入框这类可以输入文本的输入项,如果设为true,用户只是不能编辑对应的文本,但是仍然可以聚焦焦点,并且在提交表单的时候,该输入项会作为form的一项提交。
分享到:
评论

相关推荐

    javascript中input中readonly和disabled区别介绍

    在JavaScript中,`readonly`和`disabled`是两个用于HTML表单中控制用户交互的属性。它们虽然都能防止用户修改表单元素的内容,但具体的行为和影响却有所不同。 `readonly`属性主要应用于`<input>`(如`type="text"`...

    表单中Readonly和Disabled的区别详解

    在HTML表单中,`readonly` 和 `disabled` 是两个重要的属性,它们都可以用来限制用户对表单元素的交互,但它们之间的区别在于作用范围、提交表单时的行为以及用户体验等方面。 首先,`readonly` 属性主要用于`...

    html form表单input使用disabled后提交不能获取表单值的解决方法

    form表单输入框input设置disable属性提交后,得不到该输入框的值,解决该类问题可以参考下面两个方法: 方法一: 使用readonly带替代disabled,即把 disabled="disabled" 修改为 readonly="readonly" 二者区别: ...

    Django Form设置文本框为readonly操作

    本篇将详细介绍如何在Django Form中设置文本框(input field)为只读(readonly)。 方法一: 首先,我们在`forms.py`文件中创建一个自定义的`my_info_form`类,定义用户所需的字段,如`user_id`、`user_name`和`...

    设置disabled属性后台读不到数据如何让select支持readonly

    然而,对于`<select>`、`<input type="checkbox">`和`<input type="radio">`,`readonly`属性并不起作用,通常需要使用`disabled`属性来达到类似的效果。然而,如前所述,`disabled`会导致数据无法提交,因此需要...

    html总结文档

    1.表单:<form></form> 主要属性:id name action method 2.input元素:<input/> 主要属性:name type ...单选框和复选框:<input type="radio"/> <input type="checkbox"/> checked属性值为 true 或 false

    antd-input-tag.zip

    3. **禁用和读-only模式**:你可以通过设置`disabled`属性使InputTag组件变为不可编辑状态,而`readOnly`属性则可以使用户只能查看不能进行添加或删除操作。 4. **验证与限制**:你可以设定`maxTags`限制最多能输入...

    HTML5表单中新增的input输入类型3.pdf

    除了这些新增类型,`input`元素还有一系列属性来增强表单的功能和行为,如`readonly`、`disabled`、`required`、`autofocus`、`pattern`等。`readonly`使输入框变为只读,`disabled`则在页面加载时禁用输入框,`...

    初级html代码学习.zip

    001-我的第一个HTML页面 ...007-背景颜色和背景图片 008-图片 009-超链接或热链接 010-列表 011-表单form ...015-readonly和disabled 016-input控件的maxlength属性 017-HTML中元素的id属性 018-HTML中的div和span

    关于jquery form表单序列化的注意事项详解

    我们先来讲讲表单中 中readonly和disabled的区别: readonly只对input和textarea有效, 但是disabled对于所以的表单元素都是有效的,包括radio,checkbox等 如果表单中使用的disabled那么用户是不能选择的,也就是说...

    Web表单提交之disabled问题js解决方法

    - **推荐使用readonly**:在需要保持输入框值提交给服务器同时又禁止用户修改值的场景中,推荐使用readonly代替disabled。 ###知识点三:JavaScript解决方法 1. **动态移除disabled属性**: - 在表单提交之前,...

    HTML5-input表单控件调用代码_html5_表单_input_代码_控件_

    7. `week`:选择一周中的某一天和年份。 8. `number`:输入数字,可设置最小值和最大值。 9. `range`:创建滑块,用于输入一个范围内的值。 10. `search`:用于搜索框,提供清除按钮。 11. `color`:打开颜色选择器...

    怎样让input type=file 只读,并能实现文件上传

    2. **只读(ReadOnly)与禁用(Disabled)**: - **只读**:意味着元素不能被直接编辑或修改,但仍然可以被脚本所操作。 - **禁用**:意味着元素完全不可交互,既不能被编辑也不能被脚本所操作。 3. **JavaScript...

    input值总结

    以上只是`<input>`标签部分知识点的总结,实际使用中还有更多属性和用法,如`form`, `formaction`, `formenctype`, `formmethod`, `formnovalidate`, `formtarget`等,以及各种事件处理如`onchange`, `onclick`等,...

    Form元素总结.doc

    为了确保信息的有效收集,表单中的每个控件(input、textarea、select等)都需要有`name`属性,以便服务器能够识别和处理这些数据。 **Form属性** 1. `action`: 定义了表单数据提交的目标URL,即用户填写完表单后...

    我收集的一些js的题目

    在 HTML 中,form 中的 input 可以设置 readonly 和 disabled 两个属性。readonly 属性使输入框不可编辑,但可以选择和复制,而 disabled 属性使输入框不可编辑、选择和复制。 在 JavaScript 中,三种弹出式消息...

    关于html的表单元素详解(二)

    HTML Input 属性 value 属性 value 属性规定输入字段...input type="text" name="name" value="软件开发网" readonly> </form> readonly 属性不需要值。它等同于 readonly="readonly"。 disabled 属性 disable

    基于elementui的数据驱动表单组件

    4. **表单状态控制**:Element UI 的表单组件提供了`disabled`、`readonly`等属性,可以方便地控制表单的禁用和只读状态。此外,`el-form`组件提供了`label-width`、`inline`等属性,以适应不同的布局需求。 5. **...

Global site tag (gtag.js) - Google Analytics