[RESOLVIDO]Exibir campos do forma de acordo com seleção

Boa tarde!
Sou iniciante no SC, já fiz uns 80% do meu projeto, algumas dúvidas já encontrei resposta aqui, tenho o seguinte cenário:
Formulário
Tipo de registro (lookup com valor 1 ou 2)
Ao selecionar 1, exibir os campos do formulário:
Campo 1, campo2, campo3.
Ao selecionar 2 exibir os campos do formulário:
Campo2, campo4, campo5

Alguém poderia me orientar como fazer isso

Faz um teste com esse codigo abaixo, só adapta os nomes dos campos, pode rodar no OnScriptInit. Na condição coloca o resultado do lookup.

if (condicao==1) {
sc_field_display({campo1}, "on");
sc_field_display({campo2}, "on");
sc_field_display({campo3}, "on");
sc_field_display({campo4}, "off");
sc_field_display({campo5}, "off");
} else {
sc_field_display({campo1}, "off");
sc_field_display({campo2}, "on");
sc_field_display({campo3}, "off");
sc_field_display({campo4}, "on");
sc_field_display({campo5}, "on");
}
1 Curtida

Não deu certo, fiz o seguinte:

if ({id}==1) {
sc_field_display({nome}, "on");
sc_field_display({cpf}, "on");
sc_field_display({rg}, "on");
sc_field_display({endereco}, "on");
} else {
sc_field_display({nome}, "on");
sc_field_display({cpf}, "on");
sc_field_display({rg}, "on");
sc_field_display({endereco}, "off");
}

Daí quando altero a seleção do lookup que está buscando o campo id a página não dá um refresh para ocultar os campos, fiz algo errado?

Não, ele não faz o refresh, se tu colocar no “OnLoad” talvez?

Tenta nos eventos ajax onchange dos campos que recebem alteração

2 Curtidas

Não deu certo, porém não sei se entendi a orientação, fiz o seguinte:
Em eventos Ajax criei um novo evento, na opção escolha o campo selecionei id (este é o campo que será a minha condição), em escolha o evento selecionei onchange, em campos que vão ser passados como parâmetro marquei nome, RG, CPF e endereço e mandei criar o evento.
Lá no formulário ao selecionar no lookup outro id diferente de 1 ele não está ocultando o campo endereco

No código oh do evento coloquei

if ({id}==1) {
sc_field_display({nome}, “on”);
sc_field_display({cpf}, “on”);
sc_field_display({rg}, “on”);
sc_field_display({endereco}, “on”);
} else {
sc_field_display({nome}, “on”);
sc_field_display({cpf}, “on”);
sc_field_display({rg}, “on”);
sc_field_display({endereco}, “off”);
}

Deu certo, me desculpa creio q era cachê, eu testei em outro navegador e rodou, muito obrigado pela atenção.
Para completar gostaria de saber como poderia fazer para que quando o id=1 no campo nome tivesse um auto complete, porém esse auto complete tem q buscar em outro banco de dados onde fica toda a base de usuários, teria que trocar minha conexão padrão do projeto, eu já tenho a segunda conexão configurada, só gostaria de orientações de como seguir.

1 Curtida