Как задать несколько условий для if else Jquery

129
09 ноября 2019, 17:30

Есть код, который отвечает за отправку формы на сайте:

<div class="form-block-content-object-title">Оставить заявку</div>
<div  class="form-block-content-object-input-lb">Ваше имя</div>
 <input name="user_name" required type="text" class="form-block-content-object-input">
<div class="form-block-content-object-input-lb">Ваш телефон</div>
<input required name="user_phone" type="number" class="form-block-content-object-input">
<button type="submit" class="form-block-content-object-button">Отправить</button>
</form> 
 $(document).ready(function () {
    let form = $(".form-block-content-object");
    $(".form-block-content-object").submit(function (e) {
    if (!form.get(0).checkValidity()) {
        form.get(0).reportValidity();
      } else {
        sendForm(this);
        $("form").trigger('reset');
           $('.submit-true').css('display', 'block');
         return false;     
        function sendForm(form) {
            let formNm = $(form)
            $.ajax({
              type: "POST",
              url: 'mail.php',
              data: formNm.serialize(),
              success: function (data) {
                  $(formNm).after(data);
              },
              error: function (jqXHR, text, error) {
                  $(formNm).after(error);
              }
          });
        }    
      }
    });
 });

Одним из условий отправки формы является наличие символов в input. Мне нужно добавить второе условие в цикл if else. А именно: наличие минимального количества символов в поле с номером телефона, например - 8. То есть форма отправляется только в том случае,если заполнены все поля, а в поле с type="number", минимум 8 цифр.

Answer 1
$(document).ready(function () {
  $(".form-block-content-object").submit(function (e) {
    if ($(this).checkValidity()) {
      $(this).reportValidity();
    } else if ($(this).find("input[name='user_phone']").val().length != 8) {
      // report problems with phone number
    } else {
      sendForm(this);
      $("form").trigger('reset');
      $('.submit-true').css('display', 'block');
      function sendForm(form) {
        $.ajax({
          type: "POST",
          url: 'mail.php',
          data: $(form).serialize(),
          success: function (data) {
            $(form).after(data);
          },
          error: function (jqXHR, text, error) {
            $(form).after(error);
          }
        });
      }    
    }
    return false;     
  });
});
READ ALSO
имитация нажатие на элемент select value

имитация нажатие на элемент select value

есть выпадающий список и снизу кнопки , при нажатие на кнопки выбирается из списка select по строке , мне нужно что бы выбиралось не по строке...

130
установлено display : block , а элемент не отображается

установлено display : block , а элемент не отображается

Когда я нажимаю на cancel button,скрываю div Edit и после показываю div InfoСрабатывает первое условие :

138
Как вывести значения из объекта?

Как вывести значения из объекта?

Как вывести значения из объекта в котором массивНапример tooth

167
Как вывести html тэги во vue.js

Как вывести html тэги во vue.js

Подключил tinymce к vuejs код шаблон:

113