0

我有桌子。

<tableid="mytable" >
<tr class='row'>
 <td>Name</td>
 <td><input type="textbox" name="txtName" /></td>
</tr>
</table>

我使用 jQuery 添加新行

var a = $(".row").html();
$("#mytable > tbody:first").append("<tr class='row'>"+a+"</tr>");

这是代码 PHP

$_REQUEST['txtName'];

创建新行时我无法获取值文本框。请帮我

4

3 回答 3

2

假设 html 在您的服务器上是正确的,您无法从新行中获取值的原因是它们都具有相同的变量名。将输入的名称设为数组。

<table id="mytable" >
<tr class='row'>
 <td>Name</td>
 <td><input type="textbox" name="txtName[]"></td>
</tr>
</table>

现在所有的名字都将在数组中$_REQUEST['txtName']

另外,不要使用 $_REQUEST。使用 $_POST、$_GET、$_COOKIE 等。有安全原因。

于 2013-02-16T07:13:21.280 回答
0

您可能无法在 PHP 中获取值,因为您不能有两个具有相同名称的文本字段

如果您使用 jQuery 动态添加新字段,请确保在某种类型的末尾附加一个数字,例如txtName、txtName2、txtName3等...

此外,您的输入标记无效,应关闭:

 <td><input type="textbox" name="txtName" /></td>
于 2013-02-16T07:11:48.707 回答
0

像这样试试

<tableid="mytable" >
    <tr class='row'>
      <td>Name</td>
      <td><input type="textbox" name="txtName_0"></td>
    </tr>
 </table>

并且每次您需要将名称值递增为 txtName_1,txtName_2 .... 就像通过 javascript 一样,然后将它们作为

$REQUEST['txtName_0'],$REQUEST['txtName_1'].....or directly use loop them....
于 2013-02-16T07:13:04.623 回答