我有一個像下面這樣的表單發佈到同一頁面,用戶可以動態地添加更多的文本框與jQuery。如何獲取表單輸入數組到PHP數組但不是空字段
<h1> Add Your Order </h1>
<form method="post" action="">
<p id="add_field"><a href="#"><span> Click to Add </span></a></p>
<div id="container">
<input type="text" class="pid" id="' + counter + '" name="Product[]" />
<input type="text" class="qid" id="' + counter + '" name="Quantity[]" /><br />
</div><br />
<input type= "submit" Name="submit_order" value="Submit">
</form>
一切工作正常,但如果有人添加更多的文本框,並留下一些文本框爲空,那麼它會提交。這是我的問題,我不想在我的表中提交空的文本框,我想爲此服務器端解決方案。
這裏是我完整的代碼用PHP
<body>
<?php
if (isset($_POST['submit_order'])) {
if (!empty($_POST['Product']) && !empty($_POST['Quantity'])) {
$product = ($_POST['Product']);
$quantity = ($_POST['Quantity']);
foreach ($product as $id => $value) {
$products = ($product[$id]);
$quantitys = ($quantity[$id]);
$query = mysql_query("INSERT iNTO myorders (product,quantity) VALUES ('$products','$quantitys')", $connection);
}
}
echo "<i><h2><stront>" . count($_POST['Product']) . "</strong> Entry Added </h2></i>";
mysql_close();
}
?>
<?php
if (!isset($_POST['submit_order'])) {
?>
<h1> Add Your Order </h1>
<form method="post" action="">
<p id="add_field"><a href="#"><span> Click to Add </span></a></p>
<div id="container">
<input type="text" class="pid" id="' + counter + '" name="Product[]" />
<input type="text" class="qid" id="' + counter + '" name="Quantity[]" /><br />
</div><br />
<input type= "submit" Name="submit_order" value="Submit">
</form>
<?php }
?>
</body>
爲什麼你不忽略空的,然後處理剩下的? – Barmar 2014-11-01 20:35:33
我使用!empty()函數和進程休息,但每個字段都提交到我的表中。 – Rakesh 2014-11-01 20:40:03
如果你想阻止它提交,你必須在客戶端進行。 PHP無法阻止它分發。你可以在''元素中加入'required',而現代瀏覽器則不允許它們被提交。 – Barmar 2014-11-01 20:41:20