You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击Add Vulnerability按钮实现表格新增数据行的技术咨询

实现添加漏洞表格行的优化方案

你的现有代码已经具备基础的添加行功能,但可以从逻辑合理性、用户体验和代码规范三个维度优化,以下是具体调整方案:

一、修复现有功能的逻辑问题

当前myFunction在表格顶部插入行,和现有数据的序号逻辑冲突,且新行内容不符合现有格式,修改为和现有行结构一致的实现:

function addVulnerability() {
    const table = document.getElementById("myTable");
    // 获取当前表格行数,作为新行的序号
    const rowCount = table.rows.length + 1;
    // 在表格末尾插入新行(而非顶部,保持序号连续)
    const row = table.insertRow(-1);
    
    // 创建与现有行匹配的三个单元格
    const cell1 = row.insertCell(0);
    const cell2 = row.insertCell(1);
    const cell3 = row.insertCell(2);
    
    // 填充符合现有格式的内容
    cell1.textContent = rowCount;
    cell2.textContent = `Vulnerability${rowCount}`;
    cell3.innerHTML = `<input type="checkbox" id="vul${rowCount}" name="vul${rowCount}">
                       <label for="vul${rowCount}">Edit</label><br>`;
}

记得把按钮的onclick属性改成addVulnerability()。

二、提升用户体验的改进建议

  • 添加输入交互:直接插入默认内容的行不够友好,可以在点击按钮后弹出输入框,让用户自定义漏洞名称:
    function addVulnerability() {
        const vulnName = prompt("请输入漏洞名称:");
        if (!vulnName) return; // 用户取消输入则终止操作
        
        const table = document.getElementById("myTable");
        const rowCount = table.rows.length + 1;
        const row = table.insertRow(-1);
        
        const cell1 = row.insertCell(0);
        const cell2 = row.insertCell(1);
        const cell3 = row.insertCell(2);
        
        cell1.textContent = rowCount;
        cell2.textContent = vulnName;
        cell3.innerHTML = `<input type="checkbox" id="vul${rowCount}" name="vul${rowCount}">
                           <label for="vul${rowCount}">Edit</label><br>`;
    }
    
  • 样式一致性:新插入的行已继承现有td的样式,无需额外调整;若后续修改样式,确保CSS选择器覆盖所有表格行即可。

三、代码规范优化

  • 使用语义化变量名:比如把myFunction改为addVulnerability,功能更清晰。
  • 纯文本内容用textContent替代innerHTML,避免潜在的XSS风险。

四、后端持久化提示(可选)

如果希望新增的漏洞数据在页面刷新后仍保留,需要配合后端实现数据持久化:

  1. 前端通过AJAX将新增漏洞信息发送到后端接口。
  2. 后端接口接收数据并写入数据库。
  3. 页面加载时从数据库查询所有漏洞数据,动态生成表格行。

内容的提问来源于stack exchange,提问作者Bharath Naidu Yenumula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 20:07:01