Autor Tópico: [Resolvido] Desabilitar Botão  (Lida 251 vezes)

Maumar

  • Novato
  • *
  • Mensagens: 3
    • Email
[Resolvido] Desabilitar Botão
« Online: Outubro 04, 2018, 11:37:29 am »
Bom dia,

Sou novo no Scriptcase, criei um botão em uma aplicação "Controle", que no evento on_click(Ajax) faz uma consulta/alteração em uma tabela no Mysql.
Como o processo é um pouco demorado, gostaria de desabilitar o botão durante a execução do script para o usuário na ficar clicando antes do retorno.

É possível  ?

Desde já agradeço a atenção.
« Última modificação: Outubro 04, 2018, 04:09:54 pm por Maumar »
Mauricio Mariano

Valdiney

  • Iniciante
  • **
  • Mensagens: 75
    • Email
Re:Desabilitar Botão
« Responder #1 Online: Outubro 04, 2018, 01:36:46 pm »
olá Maumar,

Já tentou usar a macro sc_btn_display("Nome_Botao", "on/off") e fazer o tratamento do seu botão?

atc

Valdiney

Maumar

  • Novato
  • *
  • Mensagens: 3
    • Email
Re:Desabilitar Botão
« Responder #2 Online: Outubro 04, 2018, 01:48:05 pm »
Olá Valdiney,

Sim, já tentei essa solução, mais só executa a macro sc_btn_display("Nome_Botao", "on/off") quando finaliza o evento. Ou seja enquanto ele não termina minha consulta/alteração da tabela o botão  continua ativo.

Att.
Mauricio
Mauricio Mariano

Jailton

  • Expert
  • *****
  • Mensagens: 2728
Re:Desabilitar Botão
« Responder #3 Online: Outubro 04, 2018, 02:06:50 pm »
Normalmente neste tipo de situação,

Eu crio um campo Novo Virtual no controle chamado 'Status' e carrego um .gif animado
com a mensagem de aguardar processando...

https://www.google.com.br/search?q=gif+aguarde&tbm=isch&source=iu&ictx=1&fir=eHAZxP14fyPi7M%253A%252CEOHPBpxTemQ40M%252C_&usg=AI4_-kShqA-D10ek4fkJrNMsEVuvWxwqdQ&sa=X&ved=2ahUKEwis6vTQou3dAhXHFpAKHfqzA9cQ9QEwAXoECAUQBg#imgrc=F2zGVeBmPlIODM:

Ai faço assim:


Mensagem Formulários de CONTROLE (Gif Animado):

* Processando e Concluído no Final. *

Criar um campo Virtual Status = Label na Tela do SC.


Javascript >
Edição Javascript
Geral: form - onsubmit:
document.getElementById('hidden_field_data_status').innerHTML="<img src='http://www.seu_site.com.br/file/img/processando.gif'>";



Eventos > No Final do OnValidate na última Linha:

// sleep(10); // Se quiser fazer testes ver o funcionamento.

{Status} = "<img src='http://www.seu_site.com.br/file/img/concluido.gif'>";

O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Jocimar Oliveira

  • Expert
  • *****
  • Mensagens: 796
    • ERP Uirapuru
Re:Desabilitar Botão
« Responder #4 Online: Outubro 04, 2018, 02:30:43 pm »
Bom dia,

Sou novo no Scriptcase, criei um botão em uma aplicação "Controle", que no evento on_click(Ajax) faz uma consulta/alteração em uma tabela no Mysql.
Como o processo é um pouco demorado, gostaria de desabilitar o botão durante a execução do script para o usuário na ficar clicando antes do retorno.

É possível  ?

Desde já agradeço a atenção.

Experimento criar o botão PHP, neste caso, se o usuário ficar clicando no botão não fará nenhuma diferença, pois o SC não irá considerar mais do que 1 clique.
O botão ajax também permite que o usuário fique clicando no botão, porém, o pior é que o SC irá processar o que estiver no botão Ajax tantas vezes clique neste botão.

Pelo menos é o que acontece no SC 8.1.066

Maumar

  • Novato
  • *
  • Mensagens: 3
    • Email
Re:Desabilitar Botão [Resolvido]
« Responder #5 Online: Outubro 04, 2018, 04:08:46 pm »
Ola,

Adaptando a solução Jailton, fiz o seguinte :

Não criei o campo status, simplesmente coloquei da seguinte forma no Javascript > Geral , form , onsubmit :

* Coloca a gif animada no botão "ok"
document.getElementById('sub_form_b').innerHTML='<img src="../_lib/img/scriptcase__NM__ajax_load.gif">';

* Muda o fundo para Branco para ficar mais bonito.
document.getElementById("sub_form_b").style.backgroundColor="#ffffff";

Ficou melhor do que eu esperava.

Agradeço a todos pela ajuda.

Mauricio.
Mauricio Mariano

Maradon

  • Novato
  • *
  • Mensagens: 2
Re:[Resolvido] Desabilitar Botão
« Responder #6 Online: Novembro 16, 2018, 12:33:07 am »
Venha descobrir. Que ótimo!