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

PHP+AJAX提交动态表格表单时点击任意行保存仅存第一行数据求助

问题根源

  1. HTML 要求元素 ID 全局唯一,你循环输出每行表单时,所有输入框都用了重复的 ID(比如所有行的用户ID输入框ID都是id),JS 通过$('#id')取值时,默认只会返回DOM中第一个匹配的元素,所以永远拿到第一行的数据。
  2. 你把<script>块写在循环里,会重复输出N次,完全没有必要,还会增加页面体积。

修改方案

第一步:调整PHP循环输出的表单代码

删除所有输入框的ID属性,给表单加个类名patient-form方便识别,保留输入框的name属性即可:

// 循环内输出的表单部分修改为如下代码
echo "  
<tr>
  <form class='patient-form'>
    <input type='hidden' name='id' value='$id'>
    <input type='hidden' name='fname' value='$fname'>
    <input type='hidden' name='mname' value='$mname'>
    <input type='hidden' name='lname' value='$lname'>
    <input type='hidden' name='uhid' value='$uhid'>
    <input type='hidden' name='bednumber' value='$bednumber'>
   
    <td>$bednumber</td>
    <td>$name</td>
    <td><input type='checkbox' name='rbs' value='RBS,SE,RFT' checked></td>
    <td><input type='checkbox' name='cbc' value='CBC' ></td>
    <td><input type='checkbox' name='pt' value='PT,APTT,INR' ></td>
    <td><input type='checkbox' name='lft' value='LFT' ></td>
    <td><input type='checkbox' name='ue' value='URINE ELECTROLYTES' ></td>
    <td><input type='checkbox' name='osmo' value='SERUM & URINE OSMOLALITY' ></td>
    <td><input type='checkbox' name='procal' value='PROCALCITONINE' ></td>
    <td><input type='checkbox' name='tft' value='TFT' ></td>
    <td><input type='checkbox' name='lipid' value='LIPID PROFILE' ></td>
    <td><input type='checkbox' name='ammo' value='AMMONIA & PHOSPHATE' ></td>
    <td>
      <input type='button' class='btn-submit' value='Save' >
      <input type='reset'>
    </td>
  </form>
</tr>
";

第二步:删除循环内的

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:24:03