Como impedir que o sistema insira vários registros por clicar várias vezes?
8 respostas
B
bonfarj
Vamos supor que para inserir um registro um usuário deve clicar em um botão. O usuário clica várias vezes no botão (o cara está nervoso, hehe), mas o sistema deve inserir apenas uma vez. Como vcs costumam resolver este tipo de problema? Acredito que seja bem típico.
Quando o usuário clicar na segunda vez, ele não enviará mais o formulário. Você também pode desabilitar o botão também no seu JavaScript, como sugerido pelo Vinny.
Abraços,
Rodrigo
B
bonfarj
Caraca rcastro, adorei sua solução, é exatamente isso que eu queria, e ridiculamente simples!
Vou testar isso daí daqui a poko!
abração pessoal, mais uma vez valeu pela ajuda de vcs!
B
bonfarj
Peço desculpas pela demora pessoal. Queria avisar que usado esta solução e esta funcionando maravilhosamente bem!
abraços a todos!
J
jgbt
so uma pergunta:
se o mesmo registro esta sendo inserido varias vezes, não deveria estourar alguma coisa tipo uma PK? :roll:
lembre-se que codigo js roda no cliente e pode ser desabilitado.
acho que tratar isso no servidor tmb seria uma boa.
[]'s
B
bonfarj
Eu concordo com o que você diz, mas tem alguns casos desse meu sistema que não há uma nenhuma restrição do banco que impeça a inserção. E mesmo na maioria dos casos, onde o banco impede a inserção, fazendo o que o rcastro sugeriu evitamos que o servidor receba mais solicitações e consequentemente tenha que processar mais coisas.
J
jgbt
mas a soluçao em js não impede de eu entrar na pagina de novo, digitar os mesmo valores e inserir.
como falei, validar em js tmb é importante, ma não confie 100% nisso. validar no servidor sempre vai ser mais seguro e confiavel.
se não quer validar no bd, de uma procurada no conceito de token em aplicações web.
[]'s
P
Pedrosa
Concordo plenamente com que o jgbt falou, ao inserir faça um select na tabela, por exemplo um cpf seria uma PK pois é unico, se o cpf já existir não cadastra de novo.