При нажатии "submit" 2 раза данные добавляются 2 раза

Alexxx_2

Новичок
При нажатии "submit" 2 раза данные добавляются 2 раза

Столкнулся с такой проблемой, люди нажимают submit несколько раз (для уверенности наверное) и данные добавляются также несколько раз (хотя форма то одна).
Хотелось бы узнать универсальное и толковое решение этой задачи.
Самому пришли на ум 2 выхода, но ни один из них не нравится

1) Дизаблить кнопку сабмита JS, но так ведь можно заблокировать форму (передумаю я отправлять, нажму стоп, изменю данные в форме, а отправить то никак, кнопка неактивна..)

2) Проверять перед вставкой не добавлена ли такая же запись раньше. Но поскольку API уже давно разработан, то залезать в каждый метод ADD или делать обертки тоже занятие неблагодарное.

Посему прошу помощи у гуру.
 

Zetruger

ivan.chistyakov.name
1) Дизаблить кнопку сабмита JS, но так ведь можно заблокировать форму (передумаю я отправлять, нажму стоп, изменю данные в форме, а отправить то никак, кнопка неактивна..)
в onchange полей активируй кнопку

выход простой
генери ключ и сохраняй его в сессии
в поле форы hidden клади этот ключ
при посылке данных сравнивай и если все ок, добавляй данные и генери новый ключ

можно вариант посложнее с КАПЧЕЙ
 

Фанат

oncle terrible
Команда форума
передумаю я отправлять, нажму стоп
это ты пошутил так?

-~{}~ 13.09.07 13:55:

ты часто так делаешь? Нажал сабмит, потом подумал, нажал стоп, переписал форму?
Не смеши людей. когда ты нажимаешь стоп, ты останавливаешь ответ сервера. а не отправку формы, которая ушла раньше, чем ты успел передвинуть мышку к кнопке стоп.

В общем, не болтай ерундой. disable тебе поможет, если ты действительно хочешь решить проблему, а не высасывать себе трудности из пальца.

плюс - проверка от намеренного флуда на сервере все равно не помешает
 

Sokil.Dmytro

Новичок
а не легче время между сабмитами проверить? если меньше секудны - флудераст!
 

Фанат

oncle terrible
Команда форума
Sokil.Dmytro
если использовать сессии, то имеются более удачные механизмы отследить повтор.
 

kvf77

Red Devil
*****
я обычно просто редирект делаю - там хоть занажимайся
 

kvf77

Red Devil
Zetruger
среднестатистическая форма субмитится так быстро что никакой стоп ты нажать не успеешь
 

WoLFiks

Не курю...
среднестатистическая форма субмитится так быстро что никакой стоп ты нажать не успеешь
- совсем нет!
Форма добавления объявления о продаже авто с парой фото... (это так для примера) .
disable на javaScript именно кнопки ОТПРАВИТЬ не устраивает?
 

kvf77

Red Devil
WoLFiks
и что у тебя часто пользователи жмут стоп а потом субмит?
 

Parsek

Новичок
Сделай тайм на кнопку секунд 30 (20 10 5 на свое усмотрение).
 

HraKK

Мудак
Команда форума
@ndrey
Ням-ням.

Правильное решение озвучено уже давно. Хватит нести чепуху и вставлять свои 5 копеек.
 
Сверху