>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Проблемы с сайтами http://forum.mozilla-russia.org/viewforum.php?id=24 >Не срабатывает "отправить" на форуме. JavaScript http://forum.mozilla-russia.org/viewtopic.php?id=9676 |
vladmir > 15-04-2006 18:19:51 |
На одном жутко полезном по содержанию фотофоруме провели реконструкцию, после которой перестали отправляться сообщения из SeaMonkey. В IE, как не трудно догадаться, проблем нет. Опять же, как не трудно догадаться, владелец считает, что это проблемы Симки. Посмотрите, пожалуйста, кто рубит в скриптах, - что посоветовать исправить владельцу (в скрипте))). Выделить код Код:<html><head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <script> function doAddMessage() { frm = document.forms['form3']; frm['ms_action'].value = "addnewmessage"; frm.submit(); } </script> <title>t</title></head><body> <form name="form3" method="post" action=""> <input name="ms_action" value="" type="hidden"> <table bgcolor="#000000" border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td> <table border="0" cellpadding="3" cellspacing="1" width="100%"> <tr bgcolor="#999999"> <td align="center">Новое сообщение</td></tr> <tr bgcolor="#efefef"> <td align="center" valign="top"> <input name="tAutor" size="64" value="" maxlength="20" type="text"><br> Название сообщения: <input name="tMessagehed" size="64" maxlength="150" value="" type="text"> <p> <textarea name="tMessagetext" cols="60" rows="10"></textarea></p> <p><input name="tsentM" value="1" checked="checked" type="checkbox"> получать извещения на e-mail о сообщениях по этой теме</p> <button class="submit" name="Button" onclick="this.disabled=true;doAddMessage()">Отправить</button> </td></tr> </table> </td></tr></table> </form> </body> </html> |
RcT > 17-04-2006 11:28:27 |
Выделить код Код:<script> function doAddMessage() { frm = document.forms['form3']; frm['ms_action'].value = "addnewmessage"; frm.submit(); } </script> я может чего-то не понимаю, может кто-то просвятит, но после выполнения frm.submit(); должно выполняться action="". А его нет никакого. Как эта конструкция вообще может работать, или какой-то части кода не хватает, можно ссылочку? |
Merlyel > 17-04-2006 12:35:33 |
Yan |
Yan > 17-04-2006 12:38:09 |
Lynxx |
vladmir > 17-04-2006 12:44:52 |
Там и ИЕ и Опера сейчас работает. |
Yan > 17-04-2006 12:53:43 |
Подправил:
Только почему изначально не работало - не знаю. |
Merlyel > 17-04-2006 12:54:26 |
Yan
а во второй раз
Больше разницы я не заметил %) |
Yan > 17-04-2006 13:01:28 |
Lynxx |
Yan > 17-04-2006 13:08:58 |
Lynxx |
Merlyel > 17-04-2006 13:19:26 |
vladmir |
RcT > 17-04-2006 14:37:00 |
|
Yan > 17-04-2006 15:08:23 |
На самом деле в исходном примере достаточно было указать у button type="button":
|
vladmir > 17-04-2006 18:41:27 |
Lynxx
Боюсь именно "им проверить" - может не сработать.) Надо бы что-то наверняковое забацать. Ещё я не сохранял форму до изменений. Тогда же отправлялось изо всех браузеров, но как-то очень странно доходило - после отправки выдавалась не обновлённая стр с новым постом, а страница ошибок. Ты думал, что сообщение не отправилось, возвращался, отправлял ещё, а потом ещё и оказывалось, что все посты добавились. Мне кажется, что проблема была не в форме самой по себе, а где-то на стороне сервера, там исправили, а по ходу дела пострадала форма. Напишу о варианте заменить
А как можно проверить работоспособность? Это ведь сервер нужен? То есть советуем теоритически? |
Yan > 17-04-2006 18:59:41 |
vladmir Проблема была в том, что в исходном варианте при нажатии на button вызывалась ненужная отправка формы, которая потом прерывалась с помощью onclick, и потом, уже из скрипта, форма повторно не отправлялась. Когда же мы добавляем type="button", то button уже не вызывает отправку при нажатии, а отрабатывает только onclick. Короче говоря, и по теории, и исходя их практики, всё должно работать нормально. P.S. Я почитал, что они хотели этими изменениями как-то от спамеров бороться. Слабенькая я скажу защита... Можно даже сказать, совсем не защита.. |
ViRUS > 18-04-2006 09:56:19 |
Может проще класс submit убрать? |
vladmir > 18-04-2006 13:26:41 |
Yan Поскольку на том конце есть и другая работа и нет желания вдаваться в детали, то, думаю, последует некая пауза а там видно будет. Вариант я передал, может пригодится.
Но если коллективный разум сгенерирует ещё чего-нибудь, то хуже не будет |
Yan > 18-04-2006 15:57:23 |
ViRUS
class="submit" отвечает за стилевое формление элемента. Он не влияет на type, который по умолчанию равен submit. |
vladmir > 18-04-2006 22:51:01 |
Yan Уже зафурычило, спасибо, помогло! |
ViRUS > 19-04-2006 05:18:41 |
Спасибо, что просвятил! |