好吧,我正在创建一个小系统,以便客户可以在线下订单。我们将通过电子邮件收到订单并在我们自己的系统中处理。他们将在页面上下订单,并提供他们需要填写的一些基本信息。之后他们需要填写订单。每个订单行有3个字段。零件数量,数量和价格。价格将是一个只读,不会提交。只显示价格。
我想用jQuery创建一个小输入字段和一个加号图标。当您输入10并单击加号图标时,它们将是10个额外的3个字段的行。这个我还没创造,但现在你知道我想怎么工作。
问题是我将如何处理表格?这些字段是必需的,但我想只有一行是空的,它不会在PHP中提交或忽略。所以我只想检查已经填写的表格。有时它会是4行,有时是20行,有时是100行。所以我们不知道输入的数量。我应该如何创建表单名称?
这里有一些PHP:
if(toxInput::exists()){
如果(toxToken ::校验(toxInput ::得到('令牌'))){
$toxValidate = new toxValidate();
$toxValidation = $toxValidate->check('$_POST', array(
'po' => array('required' => TRUE),
'date' => array('required' => TRUE),
'bo' => array('required' => TRUE),
'remarks' => array('required' => TRUE)
));
if($toxValidate->passed()){
echo 'Run insert';
}
} }
以下是表单截图:http://prntscr.com/eigfc2
这里是表单的HTML:
<p><h2>Items</h2></p>
<p class="order">
<label style="margin-left:20px;">Partnumber:</label><br />
<input type="text" style="margin-left:20px;" class="text medium" placeholder="SP partnumber" />
</p>
<p class="order" >
<label style="margin-left:20px">Qty</label><br>
<input type="text" id="qty" name="qty" style="margin-left:20px;" class="text small" placeholder="Qty" />
<p class="order">
<label style="margin-left:20px">Price</label><br>
<input type="text" style="margin-left:20px;" class="text small" placeholder="Price" readonly /><br>
</p>
<p>
<input type="text" style="margin-left:20px;" class="text medium" placeholder="SP partnumber" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Qty" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Price" readonly />
</p>
<p>
<input type="text" style="margin-left:20px;" class="text medium" placeholder="SP partnumber" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Qty" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Price" readonly />
</p>
<p>
<input type="text" style="margin-left:20px;" class="text medium" placeholder="SP partnumber" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Qty" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Price" readonly />
</p>
<p>
<input type="text" style="margin-left:20px;" class="text medium" placeholder="SP partnumber" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Qty" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Price" readonly />
</p>
<p>
<input type="text" style="margin-left:20px;" class="text medium" placeholder="SP partnumber" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Qty" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Price" readonly />
</p>
<p>
<input type="text" style="margin-left:20px;" class="text medium" placeholder="SP partnumber" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Qty" />
<input type="text" style="margin-left:16px;" class="text small" placeholder="Price" readonly />
</p>
<input type="hidden" name="token" value="<?php echo toxToken::generate(); ?>">
我知道边距,需要在课堂上很好,但需要进行测试。
答案 0 :(得分:1)
我为你写了这篇文章来展示如何附加输入字段,我将使用数组。我只使用一个输入变量(myOrder),但您可以根据需要使用多个输入变量。在for循环中验证更容易。
<html>
<head>
<script>
src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#myButton").click(function(){
// create loop to add ten inputs if needed
$("#myOrderForm").append('Product: <input type="text"
name="myOrder[]" /><br>');
});
});
</script>
</head>
<body>
<input id="myButton" type="button" value="Buy another product" />
<form method="post" action="addInput.php">
<div id="myOrderForm"> //input tags here
Product: <input type="text" name="myOrder[]" /><br>
Product: <input type="text" name="myOrder[]" /><br>
</div>
<input type="submit" value="Place Order">
</form>
</body>
</html>
php文件addInput.php
<?php
$myOrders=$_POST["myOrder"];
for ($i=0; $i<count($myOrders); $i++)
{
// validate each array member with if (empty($myOrders[$i]))
// do something
echo $myOrders[$i]."<br>"; // echo just for example
}
?>