Inibir campos no formulario

Boa tarde, estou tentando inibir uns campos do formulario, dependendo da atividade, porem não esta funcionando, alguem poderia me ajudar informando o que estou fazendo de errado? Segue o codigo:
function displayFields(form,customHTML){
//mostrar o nome de usuario logado no campo nome
var fullName = fluigAPI.getUserService().getCurrent().getFullName();
form.setValue(“nome”, fullName);
// ocultar determinados campos dependendo da atividade
var activity = getValue(“WKNumState”);
form.setValue(“atividade”, activity);
customHTML.append(“ \n”);
if (activity == 4 || activity == 0) {
customHTML.append(" $(‘rdAprovFis’).attr(‘style’,‘display:none;’);\n");
customHTML.append(" $(‘nfiscal’).attr(‘style’,‘display:none;’); \n")
customHTML.append(" $(‘txAprovFis’).attr(‘style’,‘display:none;’); \n")
customHTML.append(" $(‘rdAprovFin’).attr(‘style’,‘display:none;’); \n")
customHTML.append(" $(‘ntitulo’).attr(‘style’,‘display:none;’); \n")
customHTML.append(" $(‘txAprovFin’).attr(‘style’,‘display:none;’); \n")
} else if (activity == 9) {//aprovação fiscal
customHTML.append(" $(‘txAprovFin’).attr(‘style’,‘display:none;’); \n")
ustomHTML.append(" $(‘nfiscal’).attr(‘style’,‘display:none;’); \n")
customHTML.append(" $(‘txAprovFis’).attr(‘style’,‘display:none;’); \n")
}

customHTML.append("</script> \n");		

}

2 curtidas

Olá, tudo bem?
Tem alguns detalhes
Estou imaginando que essa identificação dos elementos é o “id” deles… se for o caso está faltando o # antes do id. E na terceira linha na condição do activity 9 está escrito errado.

Tenta assim:

function displayFields(form, customHTML) {
var fullName = fluigAPI.getUserService().getCurrent().getFullName();

form.setValue("nome", fullName);

var activity = getValue("WKNumState");

form.setValue("atividade", activity);

customHTML.append("<script language='javascript'> \n");

if (activity == 4 || activity == 0) {

    customHTML.append(" $('#rdAprovFis').hide();\n");
    customHTML.append(" $('#nfiscal').hide(); \n");
    customHTML.append(" $('#txAprovFis').hide(); \n");
    customHTML.append(" $('#rdAprovFin').hide(); \n");
    customHTML.append(" $('#ntitulo').hide(); \n");
    customHTML.append(" $('#txAprovFin').hide(); \n");

} else if (activity == 9) {

    customHTML.append(" $('#txAprovFin').hide(); \n");
    customHTML.append(" $('#nfiscal').hide(); \n");
    customHTML.append(" $('#txAprovFis').hide(); \n");
    
}
customHTML.append("</script> \n");}

Testa aí… abraço

@allax.souza , Bom dia!

Pelo seu script falou adicionar a abertura do script customHTML.append("<script>");
Nos campos faltou adicionar o # antes do id dos campos também.

Abaixo segue um exemplo como você poderia fazer:

Você pode chamar uma função geral pelo displayFields e tratar tudo pelo javascrip do formulário.

displayFields.js

function displayFields(form,customHTML){
	//mostrar o nome de usuario logado no campo nome
	var fullName = fluigAPI.getUserService().getCurrent().getFullName();
	form.setValue(“nome”, fullName);
	
	// ocultar determinados campos dependendo da atividade
	var activity = getValue(“WKNumState”);


	customHTML.append("<script>");
	customHTML.append("		controleAtividades(" + activity + ")"); // chama uma função sua do javascript passando o número da atividade
	customHTML.append("</script>");	
}

Agora segue o código do javascrip do formulário onde você vai criar a função:

function controleAtividades(activity) {
	if (activity == 4 || activity == 0) {
		$('#rdAprovFis').attr('style','display:none;');
        // você pode usar assim também $('#rdAprovFis').hide() para esconder 
        // $('#rdAprovFis').show() para mostrar 
		$('#nfiscal').attr('style','display:none;');
		$('#txAprovFis').attr('style','display:none;');
		$('#rdAprovFin').attr('style','display:none;');
		$('#ntitulo').attr('style','display:none;');
		$('#txAprovFin').attr('style','display:none;');
	} else if (activity == 9) {//aprovação fiscal
		$('#txAprovFin').attr('style','display:none;');
		$('#nfiscal').attr('style','display:none;');
		$('#txAprovFis').attr('style','display:none;');
	}
}