[resolvido] Como executar um método JS ao clicar em uma aba do formulário?

Olá, pessoal!

Alguém já conseguiu chamar/executar um método próprio de PHP ou JavaScript ao clicar em uma aba dentro de um formulário (form) no Scriptcase?

Estou tentando algo semelhante ao código abaixo:

$("#id_form_atendimento_form1").click(function() {
    // Executar uma função PHP
    meuMetodoPHP();

    // Ou executar uma função JavaScript
    meuMetodoJS();
});

Vi aqui no fórum que a Renata conseguiu fazer isso chamando uma função padrão do Scriptcase (nm_atualiza('alterar')), conforme mencionado neste tópico:
:link: [Resolvido] Formulario Bloco tipo Aba

Alguém sabe como adaptar esse método para chamar funções personalizadas? Agradeço qualquer ajuda!

não se mistura código php em sessão js.

2 Curtidas

Sim, eu entendo. Mencionei essa hipótese caso o Scriptcase tivesse algum tratamento específico para isso.

Mas no caso de um código JavaScript criado dentro de um Método JavaScript no Scriptcase, existe uma forma de chamá-lo ao clicar em uma aba do formulário?

Não depende do Scriptcase, a linguagem é PHP.

Tente ver com quem postou o exemplo que funcionou no link:

Veja o código lá.

Oi Cesar, tudo bem?
Essa função eu utilizei pra cada clique no caso as abas o scriptcase identificava com como um link e conforme o texto de cada aba ele salvava, tive que pedir ao copilot o que fazia essa função pois nao me recordava mais, acredito que pra rodar um metodo php teria que tratar de formas separadas. o que eu recomendaria voce a fazer (minha opnião) verificar com alguma IA se teria uma forma de melhorar a função conforme voce precisa, ou pedir uma consultoria com alguem que trate dessas situações.

Essa função eu nao utilizo mais pois tive algum problema com o funcionamento dela após migrar o ambiente de desenvolvimento para outro servidor.

2 Curtidas

Obrigado pelo retorno Camila.
Vou seguir suas dicas.

Resolvi da seguinte forma por enquanto e, até o momento, está funcionando bem.

Contexto Tenho uma aplicação chamada form_atendimento, que contém um campo {tipo_atendimento}. Existem várias abas na aplicação, mas a que eu quero usar para disparar o evento é identificada pelo ID id_form_atendimento_form0. Você pode facilmente verificar esse nome utilizando a ferramenta de inspeção.

Aplicação Dentro do Scriptcase, no formulário, fui à opção “Eventos Ajax” e criei um evento do tipo “click” para o campo {tipo_atendimento}. Nesse evento, programei as ações que desejo que sejam atualizadas na aplicação quando a aba for clicada.

Em seguida, na opção “Javascript” do formulário, editei o “onload” e adicionei o seguinte código:

$(document).ready(function(){
    document.getElementById("id_form_atendimento_form0").addEventListener("click", function() {
        do_ajax_form_atendimento_event_tipo_atendimento_onclick();
    });
});

A função do_ajax_form_atendimento_event_tipo_atendimento_onclick foi encontrada inspecionando o código gerado pelo Scriptcase. Essa é a função chamada para disparar os eventos de “Eventos Ajax” para o campo {tipo_atendimento}.

Conclusão Vou continuar testando, mas se isso realmente funcionar a longo prazo, seria muito fácil para a NetMake incorporar essa funcionalidade de forma nativa, permitindo a criação de eventos para abas, assim como é feito para campos.

Obrigado a todos que colaboraram.

2 Curtidas