Desabilitar o botão "ok" após ser clicado

Pessoal, apesar de ser um tema recorrente, estou com um dificuldade enorme em resolver isso. Fiz algumas pesquisas e inclusive tentei uma solução publicada aqui no Fórum, mas não funcionou.

Tentei a solução abaixo no “Javascript > Geral , form , onsubmit”, igual foi publicado:

[code]
//Coloca a gif animada no botão “ok”
document.getElementById(‘sub_form_b’).innerHTML=’Processando…’;
//Muda o fundo para Branco para ficar mais bonito.
document.getElementById(“sub_form_b”).style.backgroundColor="#ffffff";

[code]

Mas a aplicação passa a não executar mais nada. Ou seja, parece que o botão “OK” perde a funcionalidade pois o código que incluo em onValidate nem é executado. Até mesmo o botão “Sair” deixa de funcionar.
E se retiro o código aplicado no Javascript a aplicação funciona, porém o botão "OK’ continua ativo.

Provavelmente estou fazendo algo errado, ou deixando de fazer algo. Por favor, alguma sugestão?
Obrigado!

Evento onvalidate

Macro sc_btn_display

Oi Haroldo,
Nesse caso em específico, essa solução não é adequada porque eu executo um processamento que pode ser longo, a depender da quantidade de registros recebidos. E esse comando só tem efeito ao término do meu processamento.
Fiz um teste fazendo a execução desse processamento numa BLANK. Não é o ideal, mas resolve parcialmente a sensação para o usuário de “que não está acontecendo nada”.

Mas muito obrigado pelo retorno. Sempre solícito.
Abraço.

Crie um botão ajax para o processamento e esconda o botão ok.

Haroldo, não sei se compreendi corretamente a sua sugestão, mas criei um botão ajax para chamar o processamento ao invés de utilizar o botão ok, escondendo esse último. Mas, mesmo assim, o comando para desabilitar esse botão ajax só tem efeito ao término do processamento.

Você está tentando evitar ficar clicando no botão durante o processamento?

De uma olhada:

Repositório Javascript Código

Sim. Exatamente isso.

1 Curtida

O Exemplo está em cima de uma app de controle que não submete o formulário em ajax como é feito com app de formulário, então pode ser que desabilite o botão mas não habilite depois do processamento, nesse caso deve colocar um código js no evento onload para habilitar o botão novamente.

Oi Haroldo,
Somente agora eu consegui ler a sua mensagem anterior com atenção. Vou testar seguindo esse exemplo, e retorno depois.
Muito obrigado.