2 формы с одной кнопкой отправки - PullRequest
0 голосов
/ 07 сентября 2018

Я хочу отправить 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 полей в соответствии с этим номером и другие поля для выбора местоположения. 2 формы идентичны.

Результат var_dump для отправки.

submit

form

post

Но я не вижу, как правильно выполнить отправку в PHP. У вас есть решение, чтобы отправить мне?

Спасибо за помощь.

...