我希望通过1个提交按钮提交2个表单。因此,提交时将在我的数据库中添加2行。
这是我开始做的事情:
HTML:
<form enctype="multipart/form-data" method="POST" action="{$link->getModuleLink('blocksouhaits', 'create', ['action' => 'create'], true)|escape:'html'}">
<div class="col-md-6">
<h1>{l s='Souhait N°1' mod='blocksouhaits'}</h1>
<input type="hidden" name="souhait[]" value="1">
<div class="form-group row">
<label for="nbVoyager_1"
class="col-sm-10 col-form-label">{l s='Nombre de voyageurs' mod='blocksouhaits'}</label>
<div class="col-sm-2">
<input type="number" class="form-control" id="nbVoyager_1">
</div>
</div>
<div class="infos-voyager_1"></div>
<div class="form-group row">
<label class="col-sm-4 col-form-label" for="locationVoyager_1">{l s='Votre location' mod='blocksouhaits'}</label>
<div class="col-sm-8">
<select class="form-control" name="locationVoyager_1" id="locationVoyager_1">
{foreach $productLoc as $pl}
<option value="{$pl.id_product}">{$pl.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="col-md-6">
<h1>{l s='Souhait N°2' mod='blocksouhaits'}</h1>
<input type="hidden" name="souhait[]" value="2">
<div class="form-group row">
<label for="nbVoyager_2"
class="col-sm-10 col-form-label">{l s='Nombre de voyageurs' mod='blocksouhaits'}</label>
<div class="col-sm-2">
<input type="number" class="form-control" id="nbVoyager_2">
</div>
</div>
<div class="infos-voyager_2"></div>
<div class="form-group row">
<label class="col-sm-4 col-form-label" for="locationVoyager_2">{l s='Votre location' mod='blocksouhaits'}</label>
<div class="col-sm-8">
<select class="form-control" name="locationVoyager_2" id="locationVoyager_2">
{foreach $productLoc as $pl}
<option value="{$pl.id_product}">{$pl.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="col-sm-12">
<button class="btn btn-primary float-xs-right" type="submit" name="submitSouhaits">
{l s='Envoyer la demande de souhait' mod='customerannonces'}
</button>
</div>
</form>
PHP:
public function postProcess()
{
if (Tools::getValue('action') == 'create') {
if (Tools::isSubmit('submitSouhaits')) {
$submit = $_POST;
dump($submit);
}
}
}
JS:
$(document).ready(function () {
$("#nbVoyager_1").change(function () {
var i = 0;
var rows = $(this).val();
$(".infos-voyager_1").empty();
for (i = 0; i < rows; i++) {
$(".infos-voyager_1").append(
'<div class="form-group row">' +
'<div class="col-sm-6">' +
'<input type="text" class="form-control" id="firstnameVoyager_1" name="firstnameVoyager_1[]" placeholder="Prénom">' +
'</div>' +
'<div class="col-sm-6">' +
'<input type="text" class="form-control" id="lastnameVoyager_1" name="lastnameVoyager_1[]" placeholder="Nom">' +
'</div>' +
'</div>');
}
});
$("#nbVoyager_2").change(function () {
var j = 0;
var rows = $(this).val();
$(".infos-voyager_2").empty();
for (j = 0; j < rows; j++) {
$(".infos-voyager_2").append(
'<div class="form-group row">' +
'<div class="col-sm-6">' +
'<input type="text" class="form-control" id="firstnameVoyager_2" name="firstnameVoyager_2[]" placeholder="Prénom">' +
'</div>' +
'<div class="col-sm-6">' +
'<input type="text" class="form-control" id="lastnameVoyager_2" name="lastnameVoyager_2[]" placeholder="Nom">' +
'</div>' +
'</div>');
}
});
});
的形式为: 一个用于定义人数的字段,该字段会根据此人数自动添加X个字段,并自动添加另一个字段来选择位置。这两种形式是相同的。
将var_dump提交给提交的结果。
但是我看不到如何在PHP中正确进行提交。您有提交给我的解决方案吗?
感谢帮助。