HTML: <form action="sendmail.php" method="post" id="contact-form" onsubmit="return chekForm();"> <label><b>Ваше имя</b> <input type="text" name="name" value="" /> </label> ... <b>Сообщение:</b> <textarea name="text" rows="" cols=""></textarea> <a href="#" onclick="document.getElementById('contact-form').submit()"><span><span>Отправить</span></span></a> <a href="#" onclick="document.getElementById('contact-form').reset()"><span><span>Стереть</span></span></a> </form> Почему-то onsubmit="return chekForm();" не запускается - что не так? Пробовала с кнопкой <input type="submit" value="Отправить" /> запускается...
Функция chekForm() в .js файле. Говорю же если кнопку ставлю <input type="submit" value="Отправить" /> то запускается и исполняется правильно... А вот при таком способе - HTML: <a href="#" onclick="document.getElementById('contact-form').submit()"><span><span>Отправить</span></span></a> - не работает... Я - девочка )) была есть и буду...
Код ее приведите. Собственно проблема именно в onsubmit="return chekForm();" поскольку если из функции chekForm() возращается не true, то форма не сабмитится. И cheCkForm(), пожалуй, все же
[js] function chekForm(){ feldName = new Array ("name", "email", "text"); feldShow = new Array ("Ваше имя", "Ваш еmail-адрес", "Сообщение"); var i,j; for (j=0; j < feldName.length; j++){ for (i=0; i < document.forma.length; i++) { if (document.forma.elements.name == feldName[j] && document.forma.elements.value == "") { alert ('Поле "' + feldShow[j] + '" не заполнено.'); document.forma.elements.focus(); return false; } } } return true } [/js]
Тьфу Невнимательно прочитал в чем проблема. form.submit() не вызывает событий onsubmit Для того чтобы сработала проверка необходимо сделать так HTML: <a href="#" onclick="submitForm()"><span><span>Отправить</span></span></a> <script type="text/javascript"> function submitForm() { if (chekForm()){ document.getElementById('contact-form').submit(); } else { return false; } } </script>
Заработало, но почему-то страница стала толи перегружаться совсем, но не похоже, а то бы курсор (фокус) исчезал, а он прыгает в нужное поле и там остаётся, но страница не остаётся на соём месте - она стала возвращаться к свому началу...
Абсолютно не понятен вопрос. Проверить отправились ли данные из формы можно добавив в файле sendmail.php var_dump($_POST);
Сори, вспомнила, это же из-за href="#" ... Давно уже HTML-ом не занималась.... Да-да данные отправляются из формы - тут всё чики-пики!!!