<button type="submit" class="button">добавить</button>
и можно ли сделать каким то образом что когда человек открывает страницу с этой кнопкой то он мог нажать бы на нее один раз всего? или допустим она блокировалась после первого нажатия и было написано "добавлено"
Спустя 13 минут, 2 секунды (21.05.2012 - 10:00) redreem написал(а):
<button type="submit" onclick="if (typeof bPressed !== undefined) return false; else bPressed = true;" class="button">добавить</button>
Спустя 5 минут, 44 секунды (21.05.2012 - 10:06) Xander написал(а):
хм сделал как вы написали ,но от чего то при нажатии этой кнопки действия не происходит добавления) я так предполагаю что она вообще не нажимается!
Спустя 37 минут, 7 секунд (21.05.2012 - 10:43) redreem написал(а):
так попробуй:
<button type="submit" onclick="if (typeof bPressed !== undefined) return false; else bPressed = true; return true;" class="button">добавить</button>
Спустя 2 минуты, 39 секунд (21.05.2012 - 10:46) Xander написал(а):
опять же без результатно! он у меня передает данные method="post" ! а так блин не передает(
Спустя 4 минуты, 11 секунд (21.05.2012 - 10:50) rooor написал(а):
Как вариант - при нажатии на кнопку записывать что-то в сессию, а потом проверять
не проверял, не знаю будет работать или нет
<?php
If(isset($_POST['click']))
$_SESSION['click'] = 1;
?>
<button type="submit" class="button" <?php echo (!empty($_SESSION['click'])) ? "disabled" : null; ?>>добавить</button>
не проверял, не знаю будет работать или нет
Спустя 6 минут, 28 секунд (21.05.2012 - 10:56) redreem написал(а):
вот, проверил, работает:
<button type="submit" onclick="if (typeof bPressed != 'undefined') return false; else {bPressed = true;return true;}" class="button">добавить</button>
Спустя 2 минуты, 57 секунд (21.05.2012 - 10:59) Xander написал(а):
Цитата (redreem @ 21.05.2012 - 07:56) |
вот, проверил, работает:<button type="submit" onclick="if (typeof bPressed != 'undefined') return false; else {bPressed = true;return true;}" class="button">добавить</button> |
дав от этот вариант работает! благодарствую!
Спустя 2 дня, 42 минуты, 59 секунд (23.05.2012 - 11:42) Xander написал(а):
Доброго времени суток! столкнулся с другой проблемой когда две кнопки на одной странице то вторая тоже блокируется(( каким образом это можно поправить?
Спустя 1 час, 34 минуты, 37 секунд (23.05.2012 - 13:17) killer8080 написал(а):
<button type="submit" class="button" onclick="this.disabled = true">добавить</button>
Спустя 6 минут, 45 секунд (23.05.2012 - 13:24) Xander написал(а):
воо блиннн! все гениальное простоо! спасибо!
Спустя 9 дней, 27 минут, 38 секунд (2.06.2012 - 13:51) Xander написал(а):
и тем не менее выявилась еще одна проблема !
эта конструкция от чего то отказывается работать в гугл хроме( как можно исправить?
<button type="submit" class="button" onclick="this.disabled = true">добавить</button>
эта конструкция от чего то отказывается работать в гугл хроме( как можно исправить?
Спустя 1 час, 43 минуты, 33 секунды (2.06.2012 - 15:35) Michael написал(а):
Цитата (Xander @ 2.06.2012 - 12:51) |
эта конструкция от чего то отказывается работать в гугл хроме( как можно исправить? |
Загадочный смысл этой конструкции. Кнопка сабмита отправит форму и страница перезагрузится. Или она не в форме?
Спустя 34 секунды (2.06.2012 - 15:35) Xander написал(а):
в форме конечно же)
Спустя 4 минуты, 27 секунд (2.06.2012 - 15:40) Michael написал(а):
Ну так что, кнопка должна стать недоступной после перезагрузки страницы?
Если да, то посмотри что тебе выше rooor подсказывал.
Если да, то посмотри что тебе выше rooor подсказывал.
Спустя 2 часа, 21 минута, 47 секунд (2.06.2012 - 18:02) Xander написал(а):
чет не получается все равно так(
Спустя 41 минута, 21 секунда (2.06.2012 - 18:43) redreem написал(а):
размести этот скрипт перед закрывающим тэгом </body>
а у каждой кнопки сделай onclick:
<script type="text/javascript">
bPressed = {
pressed:new Array(),
id:0,
control:function(el) {
if (typeof this.pressed[el.id] !== undefined) {
return false;
} else {
this.id++;
el.id = 'bPressed' + id;
this.pressed[el.id] = true;
return true;
}
}
}
</script>
а у каждой кнопки сделай onclick:
<button type="submit" onclick="return bPressed.control(this);" class="button">добавить</button>
Спустя 54 минуты, 54 секунды (2.06.2012 - 19:38) Xander написал(а):
if (typeof this.pressed[el.id] !== undefined) {
если сделать typeof слитно как сейчас то кнопка вообще не нажимается) а если раздельно, то не блокируется после нажатия!
Спустя 19 часов, 57 минут, 38 секунд (3.06.2012 - 15:35) Xander написал(а):
и как быть тогда?
Спустя 1 день, 4 часа, 47 минут, 39 секунд (4.06.2012 - 20:23) Xander написал(а):
решил вот таким образом!!
function SubmitControl(tocheack)
{
if (document.all || document.getElementById)
{
for (i=0; i < tocheack.length;i++)
{
if(tocheack.elements[i].type.toLowerCase()=="submit"||tocheack.elements[i].type.toLowerCase()=="reset")
{
tocheack.elements[i].disabled = true
}
}
}
}
<form method="POST" onsubmit=SubmitControl(this) action="">
<button type="submit" class="button">добавить</button>
</form>
Спустя 56 минут, 59 секунд (4.06.2012 - 21:20) killer8080 написал(а):
Цитата (Xander @ 4.06.2012 - 20:23) |
решил вот таким образом!! |
ещё скажи что оно работает
Спустя 42 минуты, 30 секунд (4.06.2012 - 22:03) Xander написал(а):
ага не поверишь но работает)
Спустя 39 минут, 14 секунд (4.06.2012 - 22:42) killer8080 написал(а):
Не поверю, не может такого быть
Спустя 32 минуты, 33 секунды (4.06.2012 - 23:14) Xander написал(а):
возьми сам да попробуй)) ну или предложи другое решение)
Спустя 11 часов, 1 минута, 14 секунд (5.06.2012 - 10:16) killer8080 написал(а):
Xander
да че тут пробовать?
Ну навесил ты обработчик на сабмит, и что? Страница все равно перезагрузиться, что ей должно помешать? Да и функция какая то странная. Что по твоему должна делать эта проверка?
Я изначально дал тебе не правильный совет, не правильно понял задачу. Думал что кнопка дергает какую то функцию, и после нажатия должна деактивроваться, но раз тебе нужно отправлять форму, значит блокировать кнопку нужно на серверной стороне, как уже показывали выше. Сохраняй флаг, о нажатии кнопки в сессии или куках, и в зависимости от него, блокируй кнопку на уровне html-я.
да че тут пробовать?
Ну навесил ты обработчик на сабмит, и что? Страница все равно перезагрузиться, что ей должно помешать? Да и функция какая то странная. Что по твоему должна делать эта проверка?
if (document.all || document.getElementById)
...
Я изначально дал тебе не правильный совет, не правильно понял задачу. Думал что кнопка дергает какую то функцию, и после нажатия должна деактивроваться, но раз тебе нужно отправлять форму, значит блокировать кнопку нужно на серверной стороне, как уже показывали выше. Сохраняй флаг, о нажатии кнопки в сессии или куках, и в зависимости от него, блокируй кнопку на уровне html-я.