Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.06.2010, 11:26
Интересующийся
Отправить личное сообщение для infocean Посмотреть профиль Найти все сообщения от infocean
 
Регистрация: 12.07.2009
Сообщений: 18

Не работает скрипт проверки формы
Здравствуйте, Гуру Явы!

У меня возникла проблемка с самописным скриптом, работает везде (т.е. в: Opera 10.53; IE 8.0.6001; Chrome 5.0.375), кроме браузера Mozilla Firefox 3.6.3.

Помогите, пожалуйста, понять, почему не работает и заодно если не сложно, то проверьте корректность написания скрипта(в javascript я не силён, но пытаюсь научиться )

Ниже код скрипта и формы:

<script language="javascript" type="text/javascript">
function checkmailform()
{
	var youname = document.getElementById('youname');
	var youemail = document.getElementById('youemail');
	var tema = document.getElementById('tema');
	var message = document.getElementById('message');

	if ( youname.value == "" ){
		checktext.innerText = "Заполните поле: Ваше Имя";
		return false;
	}
	if (! (/['А-я']/.test(youname.value)) ){
		checktext.innerText = "Ваше Имя должно состоять только из русских букв";
		youname.focus();
		return false;
	}
	if ( youemail.value == "" ){
		checktext.innerText = "Заполните поле: E-mail отправителя";
		return false;
	}
	if (! (/^\w+[-_\.]*\w+@\w+-?\w+\.[a-z]{2,4}$/.test(youemail.value)) ){
		checktext.innerText = "Введите правильный e-mail адрес";
		youemail.focus();
    	return false;
	}
	if ( tema.value == "" ){
		checktext1.innerText = "Заполните поле: Тема сообщения";
		return false;
	}
	if (! (/['А-я']/.test(tema.value)) ){
		checktext.innerText = "Тема сообщения может состоять только из русских букв";
		tema.focus();
		return false;
	}
	if ( message.value == "" ){
		checktext.innerText = "Заполните поле: Текст сообщения";
		return false;
	}
  return true;
}
</script>


<form id="sendmail" name="sendmail" action="" method="post" onsubmit="return checkmailform();">

<table style="width: 100%;">
	<tr>
		<td>Ваше Имя:</td>
		<td style="width: 273px">
		<input name="youname" id="youname" style="width: 150px" type="text" /></td>
		<td rowspan="7" style="width: 273px" valign="top">
		<div id="checktext" name="checktext" style="text-align: left; color: #FF0000; font-size: 12px;">
		</div>
		</td>
	</tr>
	<tr>
		<td>Ваш e-mail:</td>
		<td style="width: 273px">
		<input name="youemail" id="youemail" style="width: 180px" type="text" /></td>
	</tr>
	<tr>
		<td>Тема:</td>
		<td style="width: 273px">
		<input name="tema" id="tema" style="width: 230px" type="text" /></td>
	</tr>
	<tr>
		<td>Сообщение:</td>
		<td style="width: 273px">
		<textarea name="message" id="message" style="width: 320px; height: 160px"></textarea></td>
	</tr>
	<tr>
		<td>&nbsp;</td>
		<td style="width: 273px">
		<input name="submit" style="width: 95px" type="submit" value="Отправить" /></td>
	</tr>
</table>
<input name="send" type="hidden" value="send" /></form>


Заранее благодарен за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 05.06.2010, 12:00
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

посмотри в консоль ошибок
Ответить с цитированием
  #3 (permalink)  
Старый 05.06.2010, 12:04
Интересующийся
Отправить личное сообщение для infocean Посмотреть профиль Найти все сообщения от infocean
 
Регистрация: 12.07.2009
Сообщений: 18

там пусто, есть только вот такая запись:
PluralForm.jsm: Index #2 of 'Был достигнут лимит журнала сообщений Firebug. 0 вхождение не отображается.;Был достигнут лимит журнала сообщений Firebug. Не отображается 0 вхождений.' for value 0 is invalid -- plural rule #7; called by $STRP

Последний раз редактировалось infocean, 05.06.2010 в 12:08.
Ответить с цитированием
  #4 (permalink)  
Старый 05.06.2010, 12:15
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну тогда что значит не работает? Это загадка, которую мы должны отгадать?
Ответить с цитированием
  #5 (permalink)  
Старый 05.06.2010, 12:19
Интересующийся
Отправить личное сообщение для infocean Посмотреть профиль Найти все сообщения от infocean
 
Регистрация: 12.07.2009
Сообщений: 18

Сообщение от x-yuri Посмотреть сообщение
ну тогда что значит не работает? Это загадка, которую мы должны отгадать?
Просто не реагирует на тесты.
Например: если ни чего не ввести и нажать кнопку "Отправить", то ноль реакции.
Например_2: ввести неправильные данные и нажать на кнопку "отправить", то также ноль реакции, форму не проверяет и не отправляет.

Последний раз редактировалось infocean, 05.06.2010 в 12:26.
Ответить с цитированием
  #6 (permalink)  
Старый 05.06.2010, 12:28
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

вообще я больше доверяю консоли ошибок firefox (в меню инструменты). И как я понял при нажатии на Отправить ошибки не появляются...

тогда
либо c помощью console.log выводишь отладочные сообщения в консоль firebug и смотришь, что там не так идет

либо пишешь где-нибудь в обработчике debugger (этот оператор приостанавливает выполнение скрипта и вызывает отладчик) и пошагово проходишься по коду

либо на вкладке скрипты есть кнопка Прервать на следующем (как-то так)
Ответить с цитированием
  #7 (permalink)  
Старый 05.06.2010, 12:35
Интересующийся
Отправить личное сообщение для infocean Посмотреть профиль Найти все сообщения от infocean
 
Регистрация: 12.07.2009
Сообщений: 18

Сообщение от x-yuri Посмотреть сообщение
вообще я больше доверяю консоли ошибок firefox (в меню инструменты). И как я понял при нажатии на Отправить ошибки не появляются...

тогда
либо c помощью console.log выводишь отладочные сообщения в консоль firebug и смотришь, что там не так идет

либо пишешь где-нибудь в обработчике debugger (этот оператор приостанавливает выполнение скрипта и вызывает отладчик) и пошагово проходишься по коду

либо на вкладке скрипты есть кнопка Прервать на следующем (как-то так)
Подожди, походу у меня фаерфокс глючит, перезапустил его...
Теперь в консоле появилась такая запись:
Ошибка: checktext is not defined
Источник: http://site.ru/sendmail.php
Строка: 115

Если щёлкнуть по источнику, то открывается исходный код, с выделенной строчкой:
checktext.innerText = "Заполните поле: Ваше Имя";



Еххууу)))Заработало...
Я забыл создать переменную "checktext", а также только что вычитал, что Firefox не понимает innerText, надо использовать innerHTML.
Огромное Вам спасибо за потраченное на меня время и помощь.

Последний раз редактировалось infocean, 05.06.2010 в 12:45.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт не работает в FF и опера, но работает в IE(в чем дело???) Cepera Firefox/Mozilla 1 24.08.2012 16:46
Java скрипт не работает в Opera Eagle28 Ваши сайты и скрипты 3 07.04.2010 19:36
Почему не работает скрипт, подскажите aviaks Ваши сайты и скрипты 2 05.05.2009 14:38
Скрипт не работает в опере, работает в IE XpycTuk Общие вопросы Javascript 9 06.03.2009 15:50
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32