可以用html/php定义提交的范围吗?

可以用html/php定义提交的范围吗?,php,html,Php,Html,我有一个表单包装的表格,有许多重复的行。该表的用途是允许编辑用户帐户。每一行如下所示: <tr> <td><input type="text" name="username" value="$row->username" /></td>"; <td><input type="text" name="fname" value="$row->fname" /></td> <td&g

我有一个表单包装的表格,有许多重复的行。该表的用途是允许编辑用户帐户。每一行如下所示:

<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>
这可能吗

另外,关于数据的表示和编辑,通常是这样做的吗

=============更新

这就是我所做的。效果很好。谢谢大家:

$(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>
<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>

编辑

您可以使用Javascript实现这一点。将按钮设置为一个
onclick
事件,然后遍历DOM以获取该行中的所有表单元素。然后使用AJAX提交数据。有很多这样做的例子,你可以让PHP从输入值创建一个数组,比如@Machavity所说的就是最好的实践。它也将提供最佳的用户体验。我喜欢jquery的想法。为了方便起见,我只需插入一行id,然后从那里获取。谢谢你也可以这样做,对我来说这看起来很方便
$row->id[username]
,所以键应该是
id
,键下是所有关于该id的信息。虽然我为你的努力提供了道具,但这个答案是不可伸缩的(你必须提交整个表单,如果他显示100行,这将是一个很长的解析过程),但它实际上没有回答问题(他不想提交整个表单,只提交一行)@Machavity你是对的,它没有效率。但是,正如我所读到的,OP没有声明他只想提交部分数据。-为此,他只是让每一行都有自己的形式。
<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>
$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>