Versão atual:

Esconder DIV no modo de visualização

Boa tarde.

Estou criando um processo de SAC, e ao usuário selecionar o Motivo da Solicitação são apresentados para ele campos específicos.

No modo de edição funciona perfeitamente, porém ao movimentar a solicitação e o próximo usuário visualiza o arquivo, todas as divs são apresentadas na tela, não só a DIV que o usuário havia preenchido.

Os prints podem exemplificar um pouco melhor o que quero dizer:

Nessa primeira imagem(anexada/print1) é ainda no modo de edição e o usuário selecionou Hardware - Conserto:

Nessa segunda imagem(anexada/print2) é ainda no modo de edição e o usuário selecionou Software - Instalar:

Nessa terceira imagem(anexada/print3) é no modo de visualização e o erro que eu comentei acima:

Eu vi um outro post aqui no fórum e eles apontavam essa solução, porém comigo não funcionou.

function displayFiels(form, customHTML) {
    customHTML.append("<script>var FORM_MODE = '" + form.getFormMode() + "'</script>");
}
<script>
    $(document).ready(function(){
        if (FORM_MODE == 'VIEW') {
               var x = $('#motivo').val();
               if(x == "hardwareConserto"){
                   $('#softwareInstalar').hide();
               }

        }
    });
</script>

E essa é a forma que eu uso para esconder as DIVs no modo de edição:

$(document).ready(function(){
    //executar quando a página é carregada
    esconde();

    //executar todas as vezes que houver alterações do select;
    $('#motivo').change(function(){
        esconde();
    });
});

function esconde(){
    //quando tiver editando o formuláro o valor fica no Select
    valorSelecionado = $('#motivo').val();

    //quando tiver visualizando o formulário o valor fica no campo text;
    if(!valorSelecionado){
        valorSelecionado = $('#motivo').text();
    }
    switch(valorSelecionado) {
        case "vazio":
            $('#hardwareConserto').hide();
            $('#softwareInstalar').hide();
            break;
        case "hardwareConserto":
            $('#hardwareConserto').show();
            $('#softwareInstalar').hide();
            myFunction();
            break;
        case "softwareInstalar":
            $('#hardwareConserto').hide();
            $('#softwareInstalar').show();
            myFunction();
            break;
        default:

    }
}

Fico no aguardo do retorno. Att, Leonardo.

Versões (2):

Ver a versão formatada

Esconder DIV no modo de visualização

Comentário

new question