|
|
|
| простой пример. вроде все работает, но есть пару вопросов.
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="javascript">
alert(document.forms.length) // Получаем общее количество форм на странице
alert(document.forms[0].name) // Узнаем имя первой формы через массив forms
function checkmailform()
{
if ( (document.forms.mailer.mailsender.value == null) || (document.forms.mailer.mailsender.value.length < 7) )
{
alert("\u0417аполните поле: E-mail отправителя");
document.forms.mailer.mailsender.focus();
return false;
}
if (! (/^\w+[-_\.]*\w+@\w+-?\w+\.[a-z]{2,4}$/.test(document.forms.mailer.mailsender.value)) )
{
alert("\u0412ведите правильный e-mail адрес");
document.forms.mailer.mailsender.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<form name="mailer" id="mailer" action="/mail.php" method="post" onsubmit="return checkmailform();">
E-mail отправителя:<br /> <input type="text" name="mailsender" id="mailsender" /><br />
Текст письма:<br /> <textarea name="mailtext" id="mailtext" cols="35" rows="5"></textarea><br />
<input type="submit" value="Отправить" />
</form>
</body>
</html>
|
alert(document.forms.length) // Получаем общее количество форм на странице
alert(document.forms[0].name) // Узнаем имя первой формы через массив forms
|
alert(document.forms.length) возвращает ноль, а alert(document.forms[0].name) не отрабатывает вообще. объясните, пожалуйста, почему. | |
|
|
|
|
|
|
|
для: kez
(10.12.2008 в 15:13)
| | Парсер браузера обрабатывает код ПОСТРОЧНО и ПОСЛЕДОВАТЕЛЬНО.
Когда парсер встречает ваши первый и второй alert'ы, он потому и пишет 0 - ибо на момент обращения с этим вопросом к нему браузер ещё не подозревает о существовании форм на странице.
Надо:
- или разместить скриптовой блок НИЖЕ последнего закрывающего тега </FORM>
- или оформить весь ваш скрипт с алертами как функцию, запускать которую следует по событию window.onload | |
|
|
|
|
|
|
|
для: kez
(10.12.2008 в 15:13)
| | А подумать?
</form>
<script language="javascript">
alert(document.forms.length) // Получаем общее количество форм на странице
alert(document.forms[0].name) // Узнаем имя первой формы через массив forms
</script>
|
| |
|
|
|
|
|
|
|
для: mikha
(10.12.2008 в 15:42)
| | mikha, я не думал что такие люди остались еще.
Наверное если я спрашиваю то я попробовал не один вариант.
PAT, огромное спасибо. | |
|
|
|
|
|
|
|
для: kez
(10.12.2008 в 15:50)
| | Знаете.. А ведь я сначало тоже подробно всё расписал..
Но потом стёр.. мне захотелось что бы вы САМИ поняли почему так..
Так что вы зря обижаетесь..
ИМХО, так бы было лучше.
ЗЫ, сам когда то на эти же грабли наступал (я про то что вы спросили). | |
|
|
|
|
|
|
|
для: mikha
(10.12.2008 в 16:19)
| | прошу прощения если обидел вас, просто я провазившись полчаса с фигней, которая не укладывается у меня в голове, решил обратиться к специалистам имеющим больший опыт чем я.
я на яваскрипте пишу только последние полтора часа, так что будте снисходительны.
еще раз - спасибо за то что направили. | |
|
|
|