1

我有一个奇怪的问题,找不到答案或任何线索,无论它看起来多么蹩脚......所以需要一些帮助......

使用 PHP 代码,我正在生成 HTML 表单:

$html = '
<form name="manual" action="manual.php" method="post">
<table>';
$sql = "SELECT * from table;";
$result = pg_query($sql);
while ($row = pg_fetch_assoc($result))
{        
    $html .= '
    <tr>
        <td ><input type="text" id="cid'.$row['trans_id'].'" name="cids[]" value="'.$row['case_id'].'"/></td>
        <td ><input type="text" id="ccid'.$row['trans_id'].'" name="ccids[]" value="'.$row['client_case_id'].'"/></td>
        <td ><input type="checkbox" id="trnum'.$row['trans_id'].'" name="trs[]" value="'.$row['trans_id'].'"/></td>
    </tr>';
}
$html .= '</table>
<input type="button" value="Submit" />';

它重现了带有多行的html表单和一些数据:

...
<tr>
<td ><input type="text" id="cidrow1" name="cids[]" value="1" /></td>
<td ><input type="text" id="ccidrow1" name="ccids[]" value="4"></td>
<td ><input type="checkbox" id="trnumrow1" name="trs[]" value="row1"/></td>
</tr>
<tr>
<td ><input type="text" id="cidrow2" name="cids[]" value="2" /></td>
<td ><input type="text" id="ccidrow2" name="ccids[]" value="43"></td>
<td ><input type="checkbox" id="trnumrow2" name="trs[]" value="row2"/></td>
</tr>
<tr>
<td ><input type="text" id="cidrow3" name="cids[]" value="3" /></td>
<td ><input type="text" id="ccidrow3" name="ccids[]" value="32"></td>
<td ><input type="checkbox" id="trnumrow3" name="trs[]" value="row3"/></td>
</tr>
<tr>
<td ><input type="text" id="cidrow4" name="cids[]" value="4" /></td>
<td ><input type="text" id="ccidrow4" name="ccids[]" value="56"></td>
<td ><input type="checkbox" id="trnumrow4" name="trs[]" value="row4"/></td>
</tr>
...

我需要用户对两个输入文本字段进行更改,并且一旦检查并验证以选中这两个字段所在的同一行中的复选框。

一旦用户提交表单,我必须检查是否所有属于选定复选框的输入字段都已填写(java-script 应该在表单被发送回服务器之前在这里欺骗)并从所有选定的复选框发送回服务器值和对应的输入字段。

例如,如果在 html 表单中选择了第 1、3、4 行复选框,我需要从 cid[]、ccids[] 的输入字段和这些行的复选框中获取数据。

4

2 回答 2

1

问题是您的 ID 不是唯一的。请确保您的 ID 始终是唯一的。

于 2013-01-03T17:04:11.700 回答
0

实际上我找到了答案:如何使用 html 表单提交多个数组复选框

此提要显示如何精确定位到选定的复选框。

问候, 梅尔基奥

于 2013-01-04T00:53:11.340 回答