本文介绍如何使用原生 javascript 实现:当用户点击 html 表格某一行时,自动打开一个模态框,并将该行各单元格内容(支持含 html 标签的文本)准确填入模态框内的只读输入框中。
要实现“点击表格行弹出预填充模态框”的功能,关键在于执行时机与DOM 访问方式两个核心问题。原始代码中,JavaScript 在
或 顶部立即执行,此时表格 DOM 尚未渲染完成(尤其是 PHP 动态生成的内容),导致 document.querySelectorAll("table tbody tr") 返回空集合,事件监听器无法绑定——这是最常见的失败原因。推荐采用 “HTML 驱动 + 函数式绑定” 方案,即:
以下是完整、可直接运行的优化代码示例:
Table Row Modal Demo
| Column1 | Column2 | Column3 |
|---|---|---|
| {$row[0]} | {$row[1]} | {$row[2]} | "; echo "
通过以上结构化实现,你无需引入任何框架即可获得稳定、语义清晰、易于维护的行级模态交互体验。