Показать сообщение отдельно
  #11 (permalink)  
Старый 05.05.2019, 20:20
Аватар для ozoro
Аспирант
Отправить личное сообщение для ozoro Посмотреть профиль Найти все сообщения от ozoro
 
Регистрация: 04.05.2019
Сообщений: 80

рони,
Разобрался, вроде ве работает правильно, поле имя и email валидируется как надо, только не пойму как удалить disabled.
Надо чтобы изначально кнопка была НЕактивной, после того как все поля становятся валидными, кнопка должна становиться активной. Однако если опять поле сделать невалидным, то кнопка опять должна становиться неактивной.

Не пойму как сделать это.


Пробовал так, но ничего не получается:
<!DOCTYPE html>

<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">

</head>

<body>
<style>
.text-error-input {
    border: 1px red solid !important;
    background: #FFB647 !important;
}
</style>

<form method="get">
<input type="text" name="author_vo" id="ticket-author" class="form-control input__no-radius" placeholder="Ваше имя" maxlength="50" value="">
<input type="email" name="email_author_vo" id="ticket-author-email" class="form-control input__no-radius" placeholder="Ваш Email" value="">

<input name="" type="submit" id="submit" value="send" disabled="disabled">
</form>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>

<script>
var patternName = /^([a-zA-Zа-яёА-ЯЁ0-9_. -]{2,6}$)/;
var patternEmail = /[a-z\d-]+([\.\_]?[a-z\d-]+)+@[a-zа-я\d-]+(\.[a-zа-я]{2,6}$)/;


$(function(){
    var isCorrectName=function() {
        $(this).toggleClass('text-error-input', !patternName.test(this.value));
    }
   $("#ticket-author").on("input", isCorrectName);

   var isCorrectEmail=function() {
        $(this).toggleClass('text-error-input', !patternEmail.test(this.value));
		
		if(patternName.test(this.value) && patternEmail.test(this.value)){
			$("#submit").removeAttr("disabled");
			console.log("disabled - УДАЛЕН");
		}else{
			$("#submit").attr("disabled", "disabled");
			console.log("disabled - НА МЕСТЕ");
		}
		
    }
   $("#ticket-author-email").on("input", isCorrectEmail);
   

   $("form").submit(function() {
   $("#ticket-author").trigger("input");
   $("#ticket-author-email").trigger("input");
   return !$(".text-error-input").length
})

});
</script>

</body>
</html>

Последний раз редактировалось ozoro, 05.05.2019 в 20:32.
Ответить с цитированием