Olá, tenho um controle que executa uma série de ações, com um tempo médio de uns 5 segundos, gostaria q ao clicar no botão ok do controle fosse exibido uma mensagem “processando…” Impedindo que o usuário clicasse mais uma vez no ok do controle, alguém saberia me dizer como fazer isso, se por evento ajax ou até mesmo uma outra maneira.
Haroldo, no meu caso estou usando um controle,em qual evento usaria? Pois no exemplo é em uma blank
Crie seu botão javascript
Então eu tenho que criar um botão javascript e inserir o código q vc postou, correto?
No caso o botão javascript vai substituir o botão ok do Controle?
Nesse caso o botão javascript tem q ter a função de incluir? Como faço essa função?
Caro colega veja este link abaixo e veja os código que eu disponibilizei e veja se vai te atender. Porque com esses códigos ele passa a mostrar a mensagem aguarde e também já bloqueia o segundo click do mouse.
Não desmerecendo o grande Mestre @InfinitusWeb com a sua sugestão mas dando uma segunda solução também.
Muito obrigado pela disposição em ajudar Ronaldo.
Deixa ver se entendi, crio o botão ajax, nele insiro todas as minhas rotinas q quero, aí crio uma biblioteca externa, como seria essa biblioteca? Depois chamo a função no onload, minha dúvida foi quanto a biblioteca
-
Você cria a biblioteca externa com aquele código que eu passei no outro tópico
-
No evento onLoad você faz a chamada da função css_aguarde passando o nome do botão como parâmetro e tem a posição da mensagem inicial se a mesma não tiver ficando centralizada.
Observação: No tópico eu tinha colocado errado o nome da função a ser chamada mas já fiz a edição e correção da mesma. -
No final do processamento da rotina do botão você faz a chamada da função sc_ajax_java_script(‘retiraAguarde’) para retirar a tela da mensagem de aguarde.
Desculpe-me se estou sendo redundante, porem como já mencionei, eu sou iniciante e por isso optei pelo lowcode com SC, minha dúvida é sobre a criação da biblioteca externa, até hoje só usei da seguinte maneira, crio a biblioteca ‘teste’ dentro dela crio um arquivo .php ou .js e coloco o código dentro de um desses arquivos e chamo a biblioteca com sc_url_library, nesse seu exemplo como seria o funcionamento, qual nome deve ter a biblioteca e qual a extensão do arquivo?
- Crie uma biblioteca interno e colo o código do outro tópico no mesmo
- Onde for usar o recurso vá em Bibliotecas e marque a biblioteca que você criou
- No evento OnLoad coloque a função css_aguarde(‘btn_continuar’) passando o parâmetro com o nome do botão que você criou por exemplo “btn_continuar” que coloquei ai na função
- Na função de execução do botão no final você colocar a chamada da função sc_ajax_java_script(‘retiraAguarde’) para finalizar o processo que o css_aguarde criou.
Entendi, conforme sua orientação consegui fazer tudo funcionar, apenas uma correção, para finalizar a função a sintaxe sc_ajax_java_script(‘retiraAguarde’) não foi reconhecida, daí fui olhar no help e lá tá sc_ajax_javascript(‘retiraAguarde’) não sei se mudou a sintaxe ou foi erro de digitação. O importante é que funcionou como sugeriu, obrigado desde já pela sua atenção e tbm do Haroldo.
Erro de digitação! rsrs
Ronaldo, observei que se existir um lookup na mesma tela q tem o botão ao clicar no botão ele desabilita o duplo clique e é exibido a msg aguarde processando e todo o fundo fica desabilitado até aí tudo está certo, só que o lookup não fica desabilitado enquanto tá processando o usuário ainda consegue alterar ele por mais que seja exibido a mensagem aguarde processando
Comigo não aconteceu porque talvez não tenha esse tipo de campo no controle/formulário!
Quando tiver um tempo aqui vou fazer alguns testes.
Dê uma olha no código ai também e veja se consegui ver algo se descobrir nos atualize aqui com a correção!