[JavaScript] Impedindo o duplo clique no envio de formulário

6 respostas
vega

Ola.

O sistema que trabalho usa um botao com a imagem de um disquete que dispara a seguinte função:

<html:submit value="" onclick="selecionar('Salvar')"

Como não quero que o usuário clique duas vezes, alterei para o código abaixo. Ele irá primeiro executar a funcao Selecionar e depois desativar o botão

<html:submit value="" onclick="selecionar('Salvar');this.disabled=true"

Porém, como nao vivemos num mundo perfeito, isso só funciona no Firefox, o IE desativa o botao logo de cara e não consigo utiliza-lo.
Eu fiz uma busca na net. Existem tutoriais de como resolver isso para botões, mas isso não é um botão, é uma imagem.
Alguma dica ?

Valeu

6 Respostas

C

vega!:
Existem tutoriais de como resolver isso para botões, mas isso não é um botão, é uma imagem.

Desculpe a ignorancia, mas não entendi…

Jesuino_Master

Você não pode mexer dentro da função “selecionar”?

Qualquer coisa faz uma função que encapsula a selecionar, chama ela antes, dentro dela você chama a selecionar e em seguida desabilita o botão…

Deve funcionar!

OBS: DIE IE :smiley:

[]'s

vega

Jesuino Master:
Você não pode mexer dentro da função “selecionar”?

Qualquer coisa faz uma função que encapsula a selecionar, chama ela antes, dentro dela você chama a selecionar e em seguida desabilita o botão…

Deve funcionar!

OBS: DIE IE :smiley:

[]'s

Oi Jesuino

Obrigado pela resposta, mass… nao entendi
Voce quer que eu criei uma nova funcao e dentro desta chamar a selecionar ?

vega

chinelolaranja:
vega!:
Existem tutoriais de como resolver isso para botões, mas isso não é um botão, é uma imagem.

Desculpe a ignorancia, mas não entendi…

Essa página é um exemplo de como resolver o problema com botões:
http://www.the-art-of-web.com/javascript/doublesubmit/

O botão utiliza a ação de submit e é nomeado, o que não acontece com a imagem, que utiliza apenas uma função no onclick.
Por isso não posso usar isso de exemplo.

Entendeu ?

C

vega!:
chinelolaranja:
vega!:
Existem tutoriais de como resolver isso para botões, mas isso não é um botão, é uma imagem.

Desculpe a ignorancia, mas não entendi…

Essa página é um exemplo de como resolver o problema com botões:
http://www.the-art-of-web.com/javascript/doublesubmit/

O botão utiliza a ação de submit e é nomeado, o que não acontece com a imagem, que utiliza apenas uma função no onclick.
Por isso não posso usar isso de exemplo.

Entendeu ?

sim, tinha viajado antes… haha…

no momento não me vem nada em mente que possa resolver seu problema a não ser…

quando o usuario clicar a primeira vez voce chamar um esqueminha de “processando, aguarde” e deixar a tela inteira bloqueada (com uma DIV sobrepondo a tela ou de alguma outra forma)

se me vier alguma ideia coloco aqui pra voce testar…

abs e boa sorte!

Kanin_Dragon

Lembrando que a maioria dos novos browser já fazem implicitamente esse tipo de tratamento.

Mas caso seja de seu interesse você pode utilizar alguma solução com Token.

Criado 22 de fevereiro de 2011
Ultima resposta 22 de fev. de 2011
Respostas 6
Participantes 4