layui中textarea设只读:html直接加readonly属性即可;js推荐用prop()或原生elem.readonly=true;readonly可提交值且能被form.val()读取,disabled则不能;表格单元格默认只读,禁用编辑应移除edit配置。

layui textarea 怎么加 readonly 属性
直接在 HTML 里写 readonly 就行,Layui 不会覆盖它,渲染后依然生效。比如:<textarea name="desc" readonly>说明文本</textarea>。注意:这是原生 HTML 行为,Layui 的 layui-textarea 类只负责样式,不干预这个属性。
JS 动态设 textarea 只读,用 prop() 还是 attr()
推荐用 jQuery 的 prop():$('textarea[name="desc"]').prop('readonly', true)。它直接操作 DOM 属性状态,行为稳定;attr('readonly', 'readonly') 虽然也能生效,但在某些 jQuery 版本下对布尔属性兼容性略差。纯 JS 写法更稳妥:elem.readOnly = true(注意大小写是 readOnly,不是 readonly)。
readonly 和 disabled 在 layui 表单里差别很大
别混用:
-
readonly:内容可复制、可聚焦、值会随表单提交,但 Layui 的form.val()仍能读到它 -
disabled:完全禁用,值不会提交,form.val()也取不到,且required校验自动跳过它 - 常见错误:给字段加了
readonly却还留着required,结果提交时校验失败——因为 Layui 会校验只读字段
表格里的 textarea 单元格怎么只读
Layui 表格默认所有单元格都只读,根本不用额外设。只有当你在列配置里明确写了 edit: 'textarea',才会变成可编辑。所以“禁用编辑”的正确姿势是:删掉 edit 字段,或把它设为 null 或 undefined。别在 templet 里手动塞 <textarea></textarea>,否则 edit 配置失效,而且你塞进去的 readonly 属性可能被忽略。











