2013-02-16 68 views
0

我有表。PHP无法获取值文本框

<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

无法获取值WHERE? PHP的? JavaScript的? – 2013-02-16 07:10:24

+0

如果您试图在您使用jQuery添加的同一页面上获取txtName的值,那么它将不起作用,因为PHP在jQuery运行时已经运行了它的过程。如果您发布到试图请求txtName值的PHP页面,则需要仔细检查您的输入是否位于指向PHP页面的表单内。 – 2013-02-16 07:12:55

+0

您的代码将创建两个具有相同名称属性'txtName'的文本框。正因为如此,它不会给你带来'PHP'的结果。请参阅**盖伦的答案。 – 2013-02-16 07:14:18

回答

0

由于您的不能有两个同名的文本字段,因此您无法获取PHP中的值。

如果你动态地使用jQuery添加一个新的领域,确保你在某种的末尾添加一个数字,例如txtName的,txtName2,txtName3等等

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

<td><input type="textbox" name="txtName" /></td> 
0

尝试这样

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

,并在每次需要增加的名字对时间alues为txtName_1,txtName_2 ....喜欢通过JavaScript,然后让他们为

$REQUEST['txtName_0'],$REQUEST['txtName_1'].....or directly use loop them.... 
+0

请关闭输入标签? – Sanchit 2013-02-16 07:13:57

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等有安全原因。