我尝试将string
打印到array
。
表格将通过数组提交。表单的数量是未知的,因为如果需要,允许用户添加额外的输入(订单系统)。
要运行我需要的表单validation
,请执行以下操作:
$toxValidate = new toxValidate();
$toxValidation = $toxValidate->check('$_POST', array(
'part1' => array('required' => TRUE),
'part2' => array('required' => TRUE),
'part3' => array('required' => TRUE),
'part4' => array('required' => TRUE),
'part5' => array('required' => TRUE)
));
但是因为我们不知道它会有多少inputs
,所以需要输入一行:'part1' => array('required' => TRUE),
。
这是我试过的:
for($i=0; $i<count($part); $i++){
$parts .= "part".$i." => array('required' => true)";
$t0x = $t0x + 1;
if($t0x < count($part)){
$parts .= ', ';
}
}
提交3个表单时,这将是var_dump
的{{1}}输出
$parts
这看起来确实需要打印的内容:
''part0' => array('required' => true), 'part1' => array('required' => true), 'part2' => array('required' => true)'
我尝试了印刷和回声,我已经完成了这项工作。
如何将$toxValidation = $toxValidate->check($_POST, array(
#HERE#
));
打印到数组中。
更新
HTML表单:
$parts
jQuery添加另一行输入:
<div id="form">
<p class="order">
<label style="margin-left:20px;">Partnumber:</label><br />
<input type="text" style="margin-left:20px;" class="text medium" id="part" name="part[]" 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" id="price" placeholder="Price" tabindex="-1" readonly /><br>
</p>
</div><p>
更新2
但是还需要检查其他“输入”。像采购订单,延期交货,日期。见下文:
$('#addpart').click(function(){
var loop = $('#loop').val();
var html;
html = '<p>';
html += '<input type="text" name="part[]" style="margin-left:20px;" class="text medium" id="part" placeholder="SP partnumber" />';
html += '<input type="text" name="qty[]" style="margin-left:20px;" class="text small" placeholder="Qty" />';
html += '<input type="text" style="margin-left:20px;" class="text small" id="price" placeholder="Price" tabindex="-1" readonly />';
html += '</p>';
for (i = 0; i < loop; i++) {
$("#form").append(html);
}
});