2012-01-17 33 views
1

我試圖將動態創建的表單字段傳遞給PHP腳本,這使我很頭疼。將動態創建的表單字段傳遞給PHP

我在過去很多次這樣做過,我無法弄清楚我在這裏做錯了什麼。

下面是發生了什麼事情的例子:

的簡要說明:我有一個文本形式,有一個名爲「添加更多」,點擊後,會生成一個新的文本區域通過JavaScript按鈕。 textareas值被推入名爲「comments」的數組中。當我嘗試在我的php腳本中循環訪問這個數組時,它只給我第一個項目,而沒有動態創建的項目。

HTML

<form action="" method="post" enctype="multipart/form-data" accept-charset="utf-8"> 
<textarea name="comments[]"></textarea> 
<a href="javascript: return null;" class="add-more">Add More</a> 
</form> 

JS

$(".add-more").click(function(){ 

     var new_field = '<textarea name="comments[]"></textarea>'; 
     $(this).before(new_field); 

}); 

PHP - 這是那裏的問題是,當我通過評論[]數組嘗試循環,它只是給我的第一個,和沒有帶來任何動態生成的。

<?php 

$comments = $_POST['comments']; 

$commentString = ""; 
foreach($comments as $value) { 
$commentString .= $value; 
} 

?> 

因此,與上述,如果我創建使用「添加更多」按鈕,輸入一些文字到每一個5個文本域,然後提交表單,沒有動態創建的領域通過對PHP的發送。

任何人都可以幫忙嗎?

謝謝!

+0

你如何提交表格? –

+0

我使用表單所在頁面的url提交表單,在文件中有一個捕獲post變量的php腳本,你可以在上面看到它的一部分。 – user995542

回答

1

這已得到解決。

該問題是由於我遇到問題時出現的未封閉表單造成的。

感謝大家的回覆!

+0

將答案標記爲正確,並且人們將不再回復 – Kristian

+0

@Kristian在自己的問題上有一個時間模塊可以讓您自己的答案正確無誤。 (記憶48小時) – Skuld

4

<form action="" method="post" />

應該是:

<form action="" method="post">

0

對方回答是正確的,但你也將需要關閉的形式爲好。你的代碼也缺少關閉「>」。

<form action="" method="post" > 
<textarea name="comments[]"></textarea> 
<a href="javascript: return null;" class="add-more">Add More</a> 
</form> 
0

此外,您的JS中的類名稱與HTML中的類名稱不匹配。

這是一起和工作:

<html> 

<head> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 

</head> 

<body> 

<form action="" method="post"> 

    <textarea name="comments[]"></textarea> 

    <a href="javascript: return null;" class="add-more">Add More</a> 

    <input type="submit" /> 

</form> 

<script> 
    $(".add-more").click(function(){ 
      var new_field = '<textarea name="comments[]"></textarea>'; 
      $(this).before(new_field); 

    }); 
</script> 

<?php 

$comments = $_POST['comments']; 

$commentString = ""; 

foreach($comments as $value) { 
    $commentString .= $value; 
} 

echo $commentString; 

?> 

</body> 

</html> 
+0

感謝回覆的傢伙,所提到的一切在我的代碼中都是正確的。當我發佈這個問題時,我很匆忙。 該問題已通過實際語法更正。 – user995542

相關問題