我有一个包含许多重复行的表单包装表。该表的用途是允许编辑用户帐户。每一行看起来像这样:
<tr>
<td><input type="text" name="username" value="$row->username" /></td>";
<td><input type="text" name="fname" value="$row->fname" /></td>
<td><input type="text" name="lname" value="$row->lname" /></td>
<td><input type="email" name="email" value="$row->email" /></td>
<td><button type="submit" class="btn btn-primary" name="edituserbutton" value="$row->id" >Edit</button>";
</tr>
这张桌子是我做的。我可以在一行中更改每个输入元素的名称以行为基础,使它们独一无二;CCD_ 1,其中CCD_
但我想知道这篇文章是否能以某种方式被定位到这一行。我在努力以避免必须建立像这样的密钥
$id = $_POST['edituserbutton'];
$user_name = $_POST['username'.$id];
这可能吗?
此外,关于数据的呈现和编辑,通常是这样做的吗?
==============更新
以下是我所做的。效果很好。谢谢大家:
$(document).ready(function() {
$('button[name=edituserbutton]').click(function(e) {
e.preventDefault();
var buttonvalue = $(this).attr("value");
alert("button value is " + buttonvalue);
// .. business here
return;
})
});
<tr>
<td><input type="text" name="username[$row->id]" value="$row->username" /></td>";
<td><input type="text" name="fname[$row->id]" value="$row->fname" /></td>
<td><input type="text" name="lname[$row->id]" value="$row->lname" /></td>
<td><input type="email" name="email[$row->id]" value="$row->email" /></td>
<td><button type="submit" class="btn btn-primary" name="edituserbutton" value="$row->id">Edit</button>";
</tr>
然后,在PHP 中
$id = $_POST['edituserbutton'];
$newUserName = $_POST['username'][$id];
如果你也想避免提交大量冗余数据,你会想让每一行都有自己的表格,比如
<tr>
<form action="...">
<td><input type="text" name="username" value="$row->username" /></td>
<td><input type="text" name="fname" value="$row->fname" /></td>
<td><input type="text" name="lname" value="$row->lname" /></td>
<td><input type="email" name="email" value="$row->email" /></td>
<td>
<button type="submit" class="btn btn-primary" name="edituserbutton">Edit</button>
<input type="hidden" name="rowId" value="$row->id"/>
</td>
</form>
</tr>