Задать вопрос
@pillson

Вопрос/помощь по jquery?

Есть форма покупки в 1 клик, я проверяю 2 поля, вешаю флаг ошибок, если ошибок нет пытаюсь запустить отправку формы но не отправляет, возможно из-за preventDefault?

$('.sendClick').click(function(e){
        
        e.preventDefault();
        var errorsForm = false;
        var nameVal = $('input[name="userNameOneClick"]').val();
        
        if(nameVal.length < 3 ) {
            errorsForm = true;
            $('[name=userNameOneClick]').css('border', 'red 1px solid');
        } else {
            $('[name=userNameOneClick]').css('border', 'rgba(0,0,0,0.15) 1px solid');
        }
        
        var phoneVal = $('[name=phone]').val().replace(/[^\d.]/ig, '');
        
            if (phoneVal.length < 11 ) {

               errorsForm = true;
               $('[name=phone]').css('border', 'red 1px solid');
            } 
           else {
                
                $('[name=phone]').css('border', 'rgba(0,0,0,0.15) 1px solid');
              }
            
            if (errorsForm==false) {
                
                $('.form__modal').submit();

            }
    });
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
z80b
@z80b
Frontend
Попробуй по другому, через событие формы submit:
$('.form__modal').submit(function (e) {
  var errorsForm = false;
  var nameVal = $('input[name="userNameOneClick"]').val();

  if (nameVal.length < 3) {
    errorsForm = true;
    $('[name=userNameOneClick]').css('border', 'red 1px solid');
  } else {
    $('[name=userNameOneClick]').css('border', 'rgba(0,0,0,0.15) 1px solid');
  }

  var phoneVal = $('[name=phone]').val().replace(/[^\d.]/ig, '');

  if (phoneVal.length < 11) {

    errorsForm = true;
    $('[name=phone]').css('border', 'red 1px solid');
  } else {

    $('[name=phone]').css('border', 'rgba(0,0,0,0.15) 1px solid');
  }
  return !errorsForm;
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы