@Verygoodman

Как отправить данные из формы после валидации jQuery?

Всем привет. Нем могу отправить данные после проверки input'а.

Есть простенькая форма:
<form autocomplete="off" action="{{ route('post.store') }}" method="post">
                    <div class="form-group">
                        <label for="title">Заголовок</label>
                        <input type="text" name="title" class="form-control required" id="title" placeholder="">
                    </div>
                    <div class="form-group">
                        <button type="submit" id="submit" class="btn bg-gradient-info font-weight-bold">Опубликовать</button>
                    </div>
                </div>
            </form>


При помощи jQuery я получаю форму и input, который проверяю, пуст ли он. Если пуст, до добавляю класс is-invalid. На самом деле полей у формы много, поэтому использую метод each().

$("form").submit(function (e) {

        $(this).find(".required").each(function (){
             if($(this).val() == ""){
                    $(this).addClass("is-invalid");
                } else if ($(this).val() !== "") {
                 $(this).removeClass("is-invalid");
             }
        });
       e.preventDefault();
});


Но после того, как поле заполню, данные формы не передаются по адресу, указанному в action формы. Подскажите, пожалуйста, что мне делать, чтобы данные отправились.
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
@Verygoodman Автор вопроса
Нашел решение. Необходимо использовать переменную $flag = true;

$("form").submit(function (e) {
        $flag = true;
        $(this).find(".required").each(function (){
             if($(this).val() == ""){
                 $flag = false;
                    $(this).addClass("is-invalid");
                } else if ($(this).val() !== "") {
                 $(this).removeClass("is-invalid");
             }
        });
        return $flag;
        e.preventDefault();
    });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы