2013-02-16 83 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等有安全原因。