我有一个包含许多重复行的表单包装表。该表的目的是允许编辑用户帐户。每行看起来像这样:
<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>
我构建了这个表。我可以在一行中更改每个输入元素的名称
以行为基础,使它们独特; name="username##"
其中## = $row->id
但我想知道这篇文章是否可能以某种方式划分到该行。我正在努力
避免必须像这样建立密钥
$id = $_POST['edituserbutton'];
$user_name = $_POST['username'.$id];
这可能吗?
此外,关于数据的呈现和编辑,这是一般的做法吗?
=========== update
这就是我的所作所为。效果很好。谢谢大家:
$(document).ready(function() {
$('button[name=edituserbutton]').click(function(e) {
e.preventDefault();
var buttonvalue = $(this).attr("value");
alert("button value is " + buttonvalue);
// .. business here
return;
})
});
答案 0 :(得分:0)
<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>