2个表单和1个提交按钮

时间:2018-09-07 07:17:58

标签: php prestashop

我希望通过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提交给提交的结果。

submit

form

post

但是我看不到如何在PHP中正确进行提交。您有提交给我的解决方案吗?

感谢帮助。

0 个答案:

没有答案