PHP+AJAX提交动态表格表单时点击任意行保存仅存第一行数据求助
问题根源
- HTML 要求元素 ID 全局唯一,你循环输出每行表单时,所有输入框都用了重复的 ID(比如所有行的用户ID输入框ID都是
id),JS 通过$('#id')取值时,默认只会返回DOM中第一个匹配的元素,所以永远拿到第一行的数据。 - 你把
<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> ";
第二步:删除循环内的
相关产品推荐
相关产品推荐

