форма не возвращает значения - PullRequest
0 голосов
/ 14 апреля 2020

как только я отправляю форму, она не возвращает значения, которые я хочу. я использую ajax для получения данных.

                         <form action="registro-de-dominios.php" method="POST" id="ajax-form" class="form-inline">
                            <label class="sr-only" for="inlineFormInputName2">WWW</label>
                            <input type="text" class="p-3 form-control form-control-lg mb-2 mr-sm-2 input-ro www" id="inlineFormInputName2" name="www" value="www" placeholder="www." readonly>

                            <label class="sr-only" for="inlineFormInputGroupUsername2">Domínio</label>
                            <div class="input-group justify-content-center mb-2 mr-sm-2">
                                <input type="text" name="dominio" id="dominio" class="input-dom form-control form-control-lg" placeholder="Digite o domínio desejado">
                            </div>

                            <div class="form-check mb-2 mr-sm-2 select-padding">
                                <select name="point" id="point" class="form-control form-control-lg">
                                    <option value=".com">.com</option>
                                    <option value=".com.br">.com.br</option>
                                    <option value=".net">.net</option>
                                </select>
                            </div>
                            <button type="submit" id="salvar-form" class="btn btn-dominio btn-outline-danger" name="enviar" value="Enviar" data-toggle="modal" data-target="#ExemploModalCentralizado">
                                <i class="fas fa-search"></i>
                            </button>
                        </form>

AJAX:

<script>
        $(document).ready(function() {
            const www = $('.www').val();
            const dominio = $('#dominio').val();
            const com = $('#point').val();
            $("#salvar-form").click(function(e) {
                e.preventDefault();
                $.ajax({
                    method: "POST",
                    url: "registro-de-dominios.php",
                    dataType: "json",
                    data: {
                        www: www,
                        dominio: dominio,
                        com: com
                    },
                    beforeSend: function() {
                        alert("ENVIANDO...");
                    },
                    success: function(data) {
                        alert('ok');

                    },
                    error: function() {
                        alert('tente novamente');
                    }
                })
            });
        });
    </script>

вот что возвращает:

enter image description here

не возвращает ничего в поле "dominio" и возвращает параметр ".com", даже если я выберу другой параметр

1 Ответ

2 голосов
/ 15 апреля 2020

Вы назначаете константы www, dominio и com вне обработчика событий нажатия кнопки. Таким образом, они устанавливаются только один раз, когда документ загружается, а не при нажатии кнопки. Таким образом, вы получаете значения по умолчанию в AJAX вызове. Они должны быть назначены в обработчике кликов, например:

$(document).ready(function() {
        $("#salvar-form").click(function(e) {
            const www = $('.www').val();
            const dominio = $('#dominio').val();
            const com = $('#point').val();
            ...
        });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...