0

0

HTML表单怎样设置只读属性_HTML表单设置只读属性步骤【教程】

看不見的法師

看不見的法師

发布时间:2026-03-03 20:23:02

|

171人浏览过

|

来源于php中文网

原创

readonly输入框提交时有值,disabled则无;前者仅禁输入但允许聚焦复制,后者完全禁用控件且不参与表单提交。

html表单怎样设置只读属性_html表单设置只读属性步骤【教程】

HTML 表单里想让用户看到但不能改,用 readonly;想连聚焦、复制都不让,用 disabled——别混着用,否则表单提交时值丢了或交互反直觉。

为什么 readonly 的输入框提交时有值,disabled 就没有

浏览器规范明确:带 disabled 属性的表单控件,其 namevalue 不会随表单一起提交;而 readonly 只禁输入,不阻断提交流程。常见错误是图省事给 input 加了 disabled,结果后端收不到这个字段。

  • readonly 适合“展示+需提交”的场景,比如订单号、预填邮箱、系统生成的时间戳
  • disabled 适合“临时不可用”或“纯展示无业务意义”的字段,比如灰掉的计算结果、权限不足时隐藏的配置项
  • 两者都能阻止键盘输入,但 disabled 还会禁用鼠标选择、焦点进入、右键菜单(复制失效)

readonly 在不同表单元素上的行为差异

不是所有标签都支持 readonly —— 它只对可编辑的表单控件有效,比如 inputtextareaselect(部分浏览器支持,但不推荐依赖),而 buttonoutputlabel 不认这个属性。

  • <input type="text" readonly> ✅ 标准支持
  • <textarea readonly></textarea> ✅ 支持,且保留换行和滚动
  • <select readonly></select> ⚠️ Chrome/Firefox 会忽略,Safari 行为不一致,别这么写
  • <input type="checkbox" readonly> ❌ 无效,勾选状态仍可切换;要用 disabled 或 JS 拦截点击

JS 动态设置 readonly 时容易踩的坑

用 JS 控制只读状态,别直接操作 DOM 属性字符串,要用 element.readOnly = true(注意大小写:JS 是 readOnly,HTML 是 readonly)。设错就等于没设。

千问智学
千问智学

阿里旗下AI教育应用(原夸克学习APP)

下载

立即学习前端免费学习笔记(深入)”;

  • 错误写法:el.setAttribute('readonly', 'readonly') —— 虽然 HTML 看起来有了,但某些老浏览器可能不触发行为更新
  • 正确写法:el.readOnly = true(布尔赋值,更可靠)
  • 如果同时用了 disabled,它优先级高于 readonly,即 disabled 为真时,readonly 不起作用
  • React/Vue 中别在 JSX 或模板里写 readonly={condition},要写成 readOnly={condition}(React 对大小写敏感)

样式上怎么让 readonly 看起来更可信

默认情况下,readonly 输入框和普通输入框长得一模一样,用户可能误点、误以为能编辑。加点 CSS 区分是必要的。

  • :read-only 伪类精准命中:input:read-only { background-color: #f9f9f9; cursor: default; }
  • 避免只靠颜色区分(色弱用户难识别),建议配合 cursor: default 和轻微边框灰度变化
  • 别用 opacity: 0.7,这会让内容变淡,影响可读性;也别禁用 tabindex,否则键盘用户无法聚焦查看

最麻烦的其实是混合状态:比如一个字段在加载中要只读,加载完根据权限决定是否可编辑——这时候得同步控制 readOnlydisabled、CSS 类、甚至 tabindex,漏掉任一环,体验就断了。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

1018

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

815

2023.11.06

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

678

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

219

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1561

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

645

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

1108

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

1082

2024.04.29

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

3

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.5万人学习

AngularJS教程
AngularJS教程

共24课时 | 4万人学习

CSS教程
CSS教程

共754课时 | 38.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号