`

html input readonly 和 disable的区别

 
阅读更多
 

html input readonly 和 disable的区别

     Readonly和Disabled它们都能够做到使用户不能够更改表单域中的内容。但是它们之间有着微小的差别,总结如下:

     Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,但是表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去(readonly接受值更改可以回传,disable接受改但不回传数据)。

 

一般比较常用的情况是:

  1. 在某个表单中为用户预填了某个唯一识别代码,不允许用户改动,但是在提交时需要传递该值,此时应该将它的属性设置为readonly 
  2. 经常遇到当用户正式提交了表单后需要等待管理员的信息验证,这就不允许用户再更改表单中的数据,而是只能够查看,由于disabled的作用元素范围大,所以此时应该使用disabled,但同时应该注意的是要将submit button也disabled掉,否则只要用户按了这个按钮,如果在数据库操作页面中没有做完整性检测的话,数据库中的值就会被清除。如果说在这种情况下用readonly来代替disabled的话,若表单中只有input(text / password)和textarea元素,那还是可以的,如果存在其他发元素,比如select,用户可以在重新改写值后按回车键进行提交(回车是默认的submit触发按键)
  3. 我们常常在用户按了提交按钮后,利用javascript将提交按钮disabled掉,这样可以防止网络条件比较差的环境下,用户反复点提交按钮导致数据冗余地存入数据库。

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

  • 如果一个输入项的disabled设为true,则该表单输入项不能获取焦点,用户的所有操作(鼠标点击和键盘输入等)对该输入项都无效,最重要的一点是当提交表单时,这个表单输入项将不会被提交
  • readonly只是针对文本输入框这类可以输入文本的输入项,如果设为true,用户只是不能编辑对应的文本,但是仍然可以聚焦焦点,并且在提交表单的时候,该输入项会作为form的一项提交。 
分享到:
评论

相关推荐

    浅谈html中input只读属性readonly和disable的区别

    首先,`readonly`属性主要用于`<input>`(如`text`、`password`)和`<textarea>`元素。它使得用户无法修改已有的内容,但用户仍可以聚焦并看到内容。一个重要的特性是,当表单以`POST`或`GET`方式提交时,`readonly`...

    elementUI 设置input的只读或禁用的方法

    然后在input框里加上readonly就可以了。 禁用:disabled 在data里定义:edit: true, 然后在input框里加上::disabled=”edit”就可以了 PS:下面看下elementui通过 disabled 属性指定是否禁用 input 组件,如何用...

    表单中Readonly和Disabled的区别详解

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

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

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

    比较简单的javascript实现input双击后可以编辑

    要实现这个功能,我们主要利用了`<input>`元素的`readOnly`属性以及`ondblclick`事件。当`readOnly`属性为`true`时,该输入框不可编辑;当其值为`false`时,则可进行编辑。而`ondblclick`事件则是在用户双击元素时...

    设置checkbox为只读(readOnly)的两种方式

    3. **可访问性**:对于屏幕阅读器用户和其他辅助技术,这种方式可能会造成困扰,因为他们可能期望能够更改checkbox的状态。在实施这些解决方案时,应考虑对可访问性的改进,如添加适当的ARIA属性。 综上所述,通过...

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

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

    input禁止键盘及中文输入,但可以点击

    禁止键盘及中文输入,但又不能用readonly 而且还需兼容ie 和 ff , 为了完成这功能费了蛮大功夫,呵呵,在此记录以便日后之用;另外禁止粘贴 onpaste=”return false” 代码如下:<!DOCTYPE HTML PUBLIC “-//W3C//...

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

    HTML Input 属性 value 属性 value 属性规定输入字段的初始值: <form action=""> <input type="text" name="name" value="软件开发网"> </form> readonly 属性 readonly 属性规定输入字段为...

    javaScript面试精选

    form中的input可以设置为readonly和disable,请问2者有什么区别?** - **`readonly`**: 表示该字段不可编辑,但仍可选中和复制内容,表单提交时会包含这个字段的值。 - **`disabled`**: 表示该字段不可编辑且不可...

    javaee英语单词文档整理.pdf

    `<form>`标签用于创建表单,`<input>`定义输入框,可以设置只读(readonly)或禁用(disable)状态。表单的action属性定义提交动作,method属性指定请求方法,如GET或POST。 CSS(层叠样式表)是用于控制网页外观的...

    js css面试题

    3. Form中的Input属性`readonly`和`disable`的区别: - `readonly`:只读属性,用户无法修改输入框的值,但可以选中、复制和高亮显示内容。 - `disable`:禁用属性,不仅阻止用户编辑,还禁止选中、复制和高亮显示...

    使用jQuery设置disabled属性与移除disabled属性

    1. `readonly`属性只对`<input type="text">`、`<input type="password">`和`<textarea>`元素有效,它使表单元素无法更改,但仍然可以通过表单提交数据。 2. `disabled`属性对所有表单元素都有效,包括`<select>`...

    js常用面试题

    4. `readonly`和`disable`的区别? `readonly`使输入框不可编辑,但用户仍然可以选择和复制文本,提交表单时,该值会被发送到服务器。`disabled`则完全禁用输入框,用户无法编辑、选择或复制文本,提交表单时,该值...

    Vb将文本框设为只读

    `Locked`、`ReadOnly`和`Enabled`属性提供了基本的控制,而改变背景颜色或使用其他控件覆盖可以进一步增强视觉效果。在设计用户界面时,我们需要平衡功能性和用户体验,确保用户能清楚地理解哪些元素是可交互的,...

    java面试技术题库

    60. readonly属性只读,不能修改输入内容,disable禁用输入控件,使其不可用。 61. JS的弹出窗口有alert、confirm和prompt,分别用于提示、确认和输入。 这些知识点是Java面试中的常见问题,理解和掌握这些内容...

    Jquery Easyui自定义下拉框组件使用详解(21)

    - disable和enable:分别用于禁用和启用下拉框。 - resize:调整下拉框到指定的宽度。 - showPanel和hidePanel:分别用于显示和隐藏下拉面板。 - readonly:用于设置下拉框为只读状态。 - isValid:验证文本框内的值...

    2009 达内Unix学习笔记

    命令和参数之间必需用空格隔开,参数和参数之间也必需用空格隔开。 一行不能超过256个字符;大小写有区分。 二、特殊字符含义 文件名以“.”开头的都是隐藏文件/目录,只需在文件/目录名前加“.”就可隐藏它。...

    如何提交表单中disabled表单域的值示例代码

    2. **启用表单元素**:遍历新表单中的所有输入元素(`input`,`textarea`,`select`),并设置其`disabled`属性为`false`。这里我们使用`enableFields()`函数,它接受一组DOM节点,并遍历它们,将每个元素的`...

Global site tag (gtag.js) - Google Analytics