多个未定义的数量输入

时间:2017-03-11 00:29:37

标签: javascript php jquery html

好吧,我正在创建一个小系统,以便客户可以在线下订单。我们将通过电子邮件收到订单并在我们自己的系统中处理。他们将在页面上下订单,并提供他们需要填写的一些基本信息。之后他们需要填写订单。每个订单行有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(); ?>">

我知道边距,需要在课堂上很好,但需要进行测试。

1 个答案:

答案 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
     }

?>