Синхронная проверка полей на js
Добрый вечер.Написал синхронную проверку 2-ух,полей,но я сделал так,что пока первое поле не заполнишь,второе поле не будет проверятся,в js не силен,как мне от этой зависимости.
Мне нужно,чтобы если все проходит по регуляркам вылазила кнопка $(".btn").hide(); ,если нет,то выводится сообщение,я все это написал,только вот не могу доработать это. var errors = []; $(".putName").on("input", function() { if ($(this).val()) { var name = $(this).val(); if(!name.match(/^[a-zа-я]+$/iu) && (name != ' ')) { counter = 0; $('.putName').css('border', '2px solid red'); $('.errors_er').css('display', 'block'); $(".btn").hide(); }else { $('.errors_er').css('display', 'none'); $('.putName').css('border', 'none'); $(".putPhone").on("input", function() { if ($(this).val()) { var phone = $(this).val(); if(!phone.match(/^[+0-9]+$/i)) { ounter = 0; $('.putPhone').css('border', '2px solid red'); $('.errors_er_phone').css('display', 'block'); $(".btn").hide(); } else { $('.errors_er_phone').css('display', 'none'); $('.putPhone').css('border', 'none'); $(".btn").show(); } }else{ $('.putPhone').css('border', 'none'); $(".btn").hide(); } }); } }else { $('.putName').css('border', 'none'); $(".btn").hide(); } }); $('#form').submit(function(e) { e.preventDefault(); IfChecked(); errors = []; }); function IfChecked() { var names = $('.putName').val(); var phones = $('.putPhone').val(); names = names.trim(); phones = phones.trim(); ajax_query({'name': names, 'phone': phones, 'token': '<?=$hash?>'}); function ajax_query(data) { $.ajax({ url: 'ajax.php', type: "POST", data: data, dataType: "text", success: success }); } function success(result) { switch(result) { case 'OK': var newLi = document.createElement('div'); newLi.className = "text"; newLi.innerHTML = '<p class = "name" style="margin: 100px 0 0 250px;">'+ names + '</p><p class = "phone" style="margin: 100px 0 0 250px;">' + phones + '</p>'; mess.appendChild(newLi); $.magnificPopup.close(); break; default: break; } } } <form id="form" method="POST"> <h2 id="modal1Title">Оставьте ваши контактные данные и наш консультант свяжется <br>с вами</h2> <p class = "errors_er" style = "display: none;">Некорректное имя</p> <input type="text" class="putName" name="name" placeholder="Ваше ваше имя" required> <p class = "errors_er_phone" style = "display: none;">Некорректный телефон</p> <input name="phone" type="tel" class="putPhone" placeholder="Введите номер телефона" required > <input type="submit" name="submit" class="btn" value="ОТПРАВИТЬ" style = "display: none;"> </form> |
SolomonRei,
напиши 1 функцию проверки всех полей и запускайте в строке 40 |
нет,вы не совсем поняли,в строке 40,это уже когда была нажат кнопка,а мне нужно проверить данные и если они прошли регулярки,показать кнопку,после этого пользователь может только нажать на нее
|
SolomonRei,
$('#form').on("input", функция проверки всех полей ) |
Часовой пояс GMT +3, время: 23:16. |