@evgen9586
Backend-dev. Лублу Enterprise и не люблю понты)

Как сделать Submit формы в модальном окне?

В общем отправляется у меня форма не средставми php, а аяксом.

Но для того чтобы работала html5 валидация, а именно параметр input required, нужно чтобы происходил submit формы.

Форма у меня без кнопок. А кнопки вынесены в футер модального окна:
'footer' => '<button type = "button" class = "btn btn-style-two" data-dismiss = "modal">Закрыть</button>
<button type = "button" class = "btn btn-style-seven" id = "sendResponse">Отправить</button>'


Переделал аякс на Sumbit формы:

$('#form_vac').on('submit', function ()
    {
        var name = $("#name").val();
        var number = $("#number").val();
        var age = $("#age").val();
        var exp = $("#exp").val();
        var text = $("#text").val();
        var id = $('#idbat').val();


        $.ajax(
            {
                url:'index.php?r=site/vacancies',
                data: {a:[name,number, age, exp,  text, id]},
                type: 'POST',
                success: function (res) {
                    alert('Отклик на вакансию принят, после изучения ваших данных мы свяжемся с Вами. Сейчас произойдёт переадресация на главную страницу');
                    setTimeout( 'location="index.php?r=site/index";', 5);
                    console.log(res);
                },
                error: function () {
                    alert('Ошибка отправки');
                }
            }
        );
    });


А на кнопку с футера повесил sumbit этой формы

$("#sendResponse").on('click', function() {
        $("#form_vac").submit();
    });


но по клику на кнопку Отправить просто редирект на главную происходит. Где я ошибся, ведь вроде всё правильн
  • Вопрос задан
  • 494 просмотра
Пригласить эксперта
Ответы на вопрос 1
netrox
@netrox
$('#form_vac').on('submit', function ()
    {
        var name = $("#name").val();
        var number = $("#number").val();
        var age = $("#age").val();
        var exp = $("#exp").val();
        var text = $("#text").val();
        var id = $('#idbat').val();


        $.ajax(
            {
                url:'index.php?r=site/vacancies',
                data: {a:[name,number, age, exp,  text, id]},
                type: 'POST',
                success: function (res) {
                    alert('Отклик на вакансию принят, после изучения ваших данных мы свяжемся с Вами. Сейчас произойдёт переадресация на главную страницу');
                    setTimeout( 'location="index.php?r=site/index";', 5);
                    console.log(res);
                },
                error: function () {
                    alert('Ошибка отправки');
                }
            }
        );
    return false;  //запрет перенаправления
    });
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 14:10
500 руб./за проект
19 апр. 2024, в 13:31
10000 руб./за проект