Em aplicação de controle, método php chamado em evento ajax onclick:
Macro SC_FIELD_READONLY em campos do tipo select, causa parada e fica com Processando… intermitente. Console JS não apresenta erro.
Em aplicação de controle, método php chamado em evento ajax onclick:
Macro SC_FIELD_READONLY em campos do tipo select, causa parada e fica com Processando… intermitente. Console JS não apresenta erro.
Caro @InfinitusWeb,
Realizamos um teste considerando o cenário descrito acima, e a macro foi acionada conforme o esperado no campo do tipo select.
Compartilho abaixo a forma como implementamos nos testes:
Aplicação de Controle com 2 campos: readonly(tipo radio) e customers(tipo select).
Método PHP (readonlyCustomers):
if (isset({readonly}) && {readonly} == "Y") {
sc_field_readonly({customers}, "on");
} else {
sc_field_readonly({customers}, "off");
}
return true;
Evento Ajax (onClick):
readonlyCustomers();
Caso exista mais algum detalhe na sua aplicação que seja necessário para simular o problema, fique à vontade para sugerir no código enviado acima, ou se preferir, pode compartilhar conosco a forma como está fazendo em sua aplicação.
Ficamos no aguardo do vosso feedback.
Nossos cumprimentos!
Grato pelo retorno @Danilo_Lima.
Sim, em uma demonstração simples funciona realmente.
Mas quando o código fica mais complexo, que é o caso dessa aplicação, e quando um campo select é dependente de outro anterior (processamento ajax), e em determinadas situações movemos valores para esse campos, justamente na linha da macro (sc_field_readonly) ocorre o erro, e ao comenta-la o erro desaparece.
Esse erro parece acontecer quando não há itens no select pelo fato de não ter se selecionado um item no select anterior.
Contornamos a situação, mas não ficou elegante o código.