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;');
}
}