Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Залипание кнопки на Javascript.
Форум программистов > Интернет и сети > Web-программирование > HTML, CSS, XML, JavaScript
Gamlet
У меня на сайте есть самопальная форма обратной связи. Мой хостер очень нервно относится к спаму (более 5 писем за минуту, могут стать причиной бана). Форма выглядит так:
Код
<form name="form1" target="_parent" method="POST" action="chat_sumb.php" enctype="utf-8">
<textarea name="text" style="position:absolute;width:200px;height:125px;left:30px;top:100px;z-index:1"></textarea>
<input name="formbutton1" type="submit" value="Отправить" style="position:absolute;left:66px;top:232px;z-index:2">
<input name="id" value="1" type="text" style="position:absolute;width:0px;left:0px;top:173px;z-index:3">
</form>


По идеи, после нажатия на кнопку должен быть совершен переход на chat_sumb.php.
Из за медленного перехода, кнопку можно нажать несколько раз. Как сделать "Залипание" кнопки после первого нажатия? rolleyes.gif
etc
Код
<input name="formbutton1" type="submit" value="Отправить" style="position:absolute;left:66px;top:232px;z-index:2"  onclick="this.disabled=true;">
Так сойдет?
Gamlet
Спасибо. Но пример твой не очень рабочий.
У тебя он дисайблится, но не отправляет. Я так сделал:
Код
<form name="form1" target="_parent" method="POST" onSubmit="formbutton1.disabled=true;" action="chat_sumb.php" enctype="utf-8">
<textarea name="text" style="position:absolute;width:200px;height:125px;left:30px;top:100px;z-index:1"></textarea>
<input name="formbutton1" type="submit" value="Отправить" style="position:absolute;left:66px;top:232px;z-index:2">
<input name="id" value="1" type="text" style="position:absolute;width:0px;left:0px;top:173px;z-index:3">
</form>

Вот так все работает.
etc
Цитата(Gamlet @ 25:06:2008 - 09:52) *
Но пример твой не очень рабочий.
Так я его и не проверял, как идею "залипания" тут написал wink.gif
А сейчас глянул, ну да не все браузеры адекватно его понимают, но если подшаманить то поймут все. Ваш "плох" тем, что выделить в функцию тоже не получится ... без бубнов. smile.gif

Gamlet
Ну я в джава скрипте вообще ноль. Смарганил рабочее. Если есть лучшее, а в этом я уверен, подскажи. Буду очень благодарен.
etc
Gamlet Да нет, тут нормально. Я просто имел ввиду что если все что под onSubmit тупо выделить в отдельную функцию, типа так:
Код
<script>
  funcrion _submit()
  {
      formbutton1.disabled=true;
  }
</script>
с целью введения доп. логики или еще чего, то уже не прокатит, т.к. formbutton1 это непойми что.
И придеться делать типа так: var formbutton1 = document.getElementById('formbutton1');, и далее по тексту.
Поэтому и плох в "" написал и про бубны.
Vovochka
Ну всегда можно передать this в вызов функции
Gamlet
Vovochka
this не идет. У меня при этом вся форма пряталась, а кнопка пряталась и из под тишка при каждом нажатии отправляла.
Vovochka
Цитата(Gamlet @ 26:06:2008, 15:47 ) *
Vovochka
this не идет. У меня при этом вся форма пряталась, а кнопка пряталась и из под тишка при каждом нажатии отправляла.

Правильно. Надо знать к чему идет это this.
Если вы событие формы обрабатываете, то this - объект этой формы.
Если событие кнопки, то this - эта кнопка.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.