Многократное нажатие submit в Drupale. Как победить?

F
На сайте с 16.01.2010
Offline
267
768

Приветствую всех.

Есть доска объявлений на Друпале 6, так вот там есть такая неприятная проблема, что если при добавлении добавления несколько раз нажать на кнопку добавления, то ровно столько раз у вас появится новых одинаковых объявлений, многие по привычке делают двойной клик и соответственно часто приходится их удалять вручную.

На друпал.ру нашёл решение http://www.drupal.ru/node/12258 благодаря скрипту после однократного нажатия кнопки исчезают

В топике пишут, что нужно вставить жабоскрипт

$(document).ready(function() {

$('input[@type=submit]').click(function() {
$(this).siblings('input[@type=submit]').hide();
$(this).hide();
$('<p class="loading">OK...</p>').insertAfter(this).slideDown('fast');
})
})

Что я и пытаюсь сделать, вставив таким образом сразу под <?php print $content ?>

<script type="text/javascript">

$(document).ready(function() {
$('input[@type=submit]').click(function() {
$(this).siblings('input[@type=submit]').hide();
$(this).hide();
$('<p class="loading">OK...</p>').insertAfter(this).slideDown('fast');
})
})
</script>

Но увы, ничего не происходит, кнопки на месте и так же многократно могут срабатывать. Кэш чистил, в исходном коде данный код виден, как под админом, так и под анонимом.

Может что-то не так делаю? Или кто-нибудь знает другое решение? Наверняка многие с этим сталкивались.

T@iler
На сайте с 25.09.2010
Offline
12
#1

Попробуйте по клику присвоить CSS свойство Submit:

$(this).css({"visibility":"hidden"});

Garin33
На сайте с 31.08.2009
Offline
169
#2

А я бы не стал городить огороды, а воспользовался модулем hide_submit.

Судя по описанию этот модуль точно решает поставленную проблему, перевод описания - "Некоторые пользователи нетерпеливы и нажимают на кнопку отправки более чем один раз в ожидании своего поста. В некоторых случаях это может привести к дублированию сообщений.....Одно из решений, которое я нашел, это небольшой код JQuery, чтобы скрыть кнопку отправки после того, как ее нажали, и вывести информативный текст, например: «Пожалуйста, подождите ..." ."

Потому что Drupal - это круто.
F
На сайте с 16.01.2010
Offline
267
#3
T@iler:
Попробуйте по клику присвоить CSS свойство Submit:
$(this).css({"visibility":"hidden"});

Интересный совет, правда в css правда в стилях я не силен, могу рамочку кнопке сделать :-)

Garin33:
А я бы не стал городить огороды, а воспользовался модулем hide_submit.
Судя по описанию этот модуль точно решает поставленную проблему, перевод описания - "Некоторые пользователи нетерпеливы и нажимают на кнопку отправки более чем один раз в ожидании своего поста. В некоторых случаях это может привести к дублированию сообщений.....

А вот это то что нужно, благодарствую.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий