Показать сообщение отдельно
  #2 (permalink)  
Старый 20.03.2011, 16:39
Интересующийся
Отправить личное сообщение для Александр345 Посмотреть профиль Найти все сообщения от Александр345
 
Регистрация: 20.03.2011
Сообщений: 16

Скрипт почему-то порвал всю разметку сайта, точнее вылез аж за размеры экрана. Привожу отдельно в тегах для скрипта.
<script type="text/javascript">	
	function checkForm() {
		var form=document.forms.form,
			user_fname=form.elements.user_fname.value.toString(),
			user_tel=form.elements.user_tel.value.toString(),
			user_email=form.elements.user_email.value.toString(),
			message=form.elements.message.value.toString(),
			//регулярное выражение для проверки поля ввода номера телефона, должны быть одни цифры
			regTel=/\d{6,11}/,
			//регулярное выражение для проверки поля ввода e-mail
			regEmail=/^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,3}/,
			//ищем совпадения в введенной строке и регулярным выражением, если удовлетворяет, то значение, если нет - тогда null
			tel=user_tel.match(regTel),
			email=user_email.match(regEmail);
			
				form.onchange=function () {
					//проверка длины вводимого номера
					if (user_tel.length > 5 && user_tel.length < 12) {
						tel=user_tel.match(regTel);
						return submit();
/*	вопрос что возвращается при такой записи - return submit();
**	return submit(); это метод отправки формы на указанный в action файл обработки на сервере, а что происходит, когда мы используем
**	такую запись в функции проверки изменений в форме?
*/
					
					//если значения в поле ввода пусто или не соответствует регулярке
					} else if (user_tel=="" || tel=null) {
									checkLable(form.elements.user_tel, 2000);			//отправляем запрос с параметрами в функцию checkLable
									return false;
								}
					
					//проверяем значения в поле ввода email. Если не пусто или соответствует регулярке
					if (user_email!="" || email!=null) {
						email=user_email.match(regEmail);
						return submit();		//тот же вопрос см. выше
					} else {
							checkLable(form.elements.user_email, 2000);			//отправляем запрос с параметрами в функцию checkLable
							return false;
					}
					
					//функция мигалка. Предполагалось использовать setInterval и помигать бордером при неправильных записях в полях ввода телефона и (или) email
					//почему-то не работает!!!!
					//что не правильно?
					function checkLable(label, deley) {
						label.style.backgroundColor = '#f00';
						var interval=setInterval(function () {label.style.borderColor = '#f00'}, deley);
						clearInterval(interval);
					};
				}
				
				//планировал отключить кнопку отправки если пустые поля ввода телефона и (или) email
				//почему-то не работает!
				if (user_tel=="" || user_email=="") {
							document.forms.form.elements.next.disabled="disabled";
					}
	}
</script>

Последний раз редактировалось Александр345, 20.03.2011 в 16:48. Причина: добавление комментария
Ответить с цитированием