[英]How do i get the javascript dynamic row values in php?
我正在嘗試在nextpage(postdata.php)上打印輸入文本字段值。 但它始終只打印第一行結果。 我沒有在下一頁獲得剩余的行值。 我在jsfiddle上發布了我的完整代碼..如何在php(postdata.php頁面)中獲取剩余的js動態行值?
JS
$(document).ready(function(){
$("span").click(function(){
$("#container").append('<tr><td>Email : </td><td><input type="text" name="email[]" placeholder="Email id" /></td> <td>Name : </td><td><input type="text" name="name[]" placeholder="Your Name "/></td> <td><a title="Delete this row" href="javascript:void(0);" class="remove">Del</a></td></tr>');
});
$("#container").on('click','.remove',function(){
$(this).parent().parent().remove();
});
});
腓
<?php
echo "
<table>
<tr>
<td>
Email :
</td>
<td>
$_POST[email]
</td>
<td>
Name :
</td>
<td>
$_POST[name]
</td>
</tr>
</table>";
?>
當您在輸入字段的名稱中添加方括號時,PHP將以數組形式接收它的值。 您的JS代碼很好,但PHP代碼根本不處理數組。 請看以下內容:
echo "
<table>";
if(!is_array($_POST['email'])) {
$_POST['email'] = array($_POST['email']);
$_POST['name'] = array($_POST['name']);
}
foreach($_POST['email'] as $key => $email) {
// get the corresponding name to the email
$name = $_POST['name'][$key];
echo "<tr>
<td>
Email :
</td>
<td>
$email
</td>
<td>
Name :
</td>
<td>
$name
</td>
</tr>";
}
echo "</table>";
注意:此代碼將檢查是否提交了多個值,並且將在兩種方案中都有效。
由於您聲明的字段名稱是數組,因此$ _POST變為多維數組。所以請嘗試這樣
<?php
$size = sizeof($_POST['email']);
echo "<table>" ;
for($i=0; $i<$size;$i++)
{
echo "
<tr>
<td>
Email :
</td>
<td>
".$_POST['email'][$i]."
</td>
<td>
Name :
</td>
<td>
".$_POST['name'][$i]."
</td>
</tr>
";
}
echo "</table>";
?>
同樣在你的html Name
和Emai
l字段的name[]
分別name[]
和email[]
。你也錯放了form
標簽。 它之后開始<table>
和結束后<table>
哪個不對。 所以將form
標記之前table
標簽
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.