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.

compartilhar
  • Aproveitando, percebam que o email não aparece, porque eu utilizo o

    Leonardo Fioretti   16 de Aug de 2018
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags complemento formmode processo hide displayfields ou faça a sua própria pergunta.