Показать сообщение отдельно
  #1 (permalink)  
Старый 16.04.2019, 18:24
Аспирант
Отправить личное сообщение для rodiony4 Посмотреть профиль Найти все сообщения от rodiony4
 
Регистрация: 26.10.2015
Сообщений: 96

Проверка формы
Здравствуйте
есть форма, вот пример
<div id="ddd" style="border: 1px solid #CCCCCC; width:50px; height:10px; background:#f00; margin-bottom: 10px;"></div>

<form action="#" method="post" name="ckform" onsubmit="return ckformcheck()">
 <p>Имя</p> <input type="text" class="validate" name="name"/>
 <p>Email</p> <input type="text" class="validate" name="email"/>
 <p>Сообщение</p><textarea name="message" rows="6" cols="25"></textarea><br />
 <input name="submit_bt" id="submit_bt" class="buttonRED" style="background:#ccc; padding:8px 10px;" type="submit" value="Отправить" />
</form>

<script type="text/javascript">
$("#submit_bt").live("click", function(){
	var name = $(".validate").val(); 
	if (name == "") { 
		$(".validate").addClass('fc-error');
	}else{
		$(".validate").removeClass('fc-error');
	};
	check();
});

check = function ckformcheck(form){
	if($(".fc-error").length > 0){
		alert("err");	
		//return false;
		}else{
		alert("NO err");
		$("#submit_bt").attr('value', 'Форма отправляется');  
		$("#ddd").animate({'width':'900'},2500);
		$("#submit_bt").prop('disabled', true); 
		return false;
		// как продолжить отправку формы? return true;
	};
};
</script>

есть проблемы, пожалуйста, помогите
1. в переменной check, в которую записана функция ckformcheck - не срабатывает onsubmit (return false; не останавливает форму) в браузерах ie и мозила
Если функцию не записывать в переменную то все ок. Но нужно именно записать функцию в переменную.
2. в условии функции ckformcheck (если не существует инпута с классом .fc-error), то нужно выполнить следующие:
- остановить отправку формы
- изменить текст на кнопке, выполнить анимацию, заблокировать кнопку
- продолжить отправку формы

без onclick и preventDefault
в кнопке нельзя менять type="submit" на type="button" , а также input на div

Последний раз редактировалось rodiony4, 16.04.2019 в 19:02.
Ответить с цитированием