我有桌子。
<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'];
创建新行时,我无法获取值文本框。请帮帮我
答案 0 :(得分: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等。有安全原因。
答案 1 :(得分:0)
您无法获取PHP中的值,因为不能有两个同名的文本字段。
如果您使用jQuery动态添加新字段,请确保在某种类型的末尾附加一个数字,例如 txtName,txtName2,txtName3 等...
此外,您的输入标记无效,应该关闭:
<td><input type="textbox" name="txtName" /></td>
答案 2 :(得分: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....