Ajuda!

3 respostas
FBovo

:roll: Bom, deixe-me ver se consigo explicar: Tenho dois campos no meu form, Nome do Paciente e Iniciais. Quando “Nome do Paciente” é preenchido pelo usuário, o “Iniciais” é automaticamente preenchido e desabilitado. Agora, se o preenchimento em “Nome do Paciente” for omitido, o campo “Iniciais” permanece habilitado para incluir apenas as iniciais do nome (aspecto de confidencialidade). Daí se o usuário preenche somente as iniciais e pede para Salvar, ele grava no banco certinho somente as iniciais. Até aí, tudo beleza. Só que o usuário tem a opção de mais tarde editar o form gravado, e quando clico no botão Editar, para trazer novamente a tela do form para edição, o único campo que ele não traz preenchido é exatamente o “Iniciais”. Como resolver isto? Abaixo posto os campos do form e o código da função geraIniciais, chamada através do onBlur. Desde já agradeço qualquer luz para me ajudar. Obrigado!

function geraIniciais(nome,inicial){   
var obj;   
var obj2;   
var objAr;   
   obj = document.getElementById(nome);   
   obj2 = document.getElementById(inicial);   
       
   objAr = obj.value.split(' ');   
   obj2.value = '';   
       
         if (obj.value != '') {   
    for (i=0; i < objAr.length; i++) {   
         if (objAr[i].length > 1 && objAr[i] != 'de' && objAr[i] != 'da' && objAr[i] != 'dos')   
        obj2.value += objAr[i].substring(0,1).toUpperCase();   
    }     
        obj2.disabled = true;   
    }  else   {   
          obj2.disabled = false;   
    }   
}
<td class="fcol1" width="40%"><%=print.toLocalizedString("NOME_COMPLETO")%><br>         
<%=form.createText("PAC_NOME_COMPLETO",pac,60,64,"onBlur=\"geraIniciais('PAC_NOME_COMPLETO','PAC_INICIAIS');\"")%></td>   
           
<td class="fcol1" width="5%"><%=print.toLocalizedString("INICIAIS")%><br>   
<%=form.createText("PAC_INICIAIS",pac,8,8)%></td>

3 Respostas

felipealbuquerque

Tenta fazer assim: usa esse campo que fica desabilitado só para exibição. Usa um hidden para enviar o valor do campo de Iniciais para o form.

felipealbuquerque

Ah! Outra coisa… tenta não usar scriptlets na página. Use JSTL, ou até mesmo tags personalizadas. O ideal é NÃO ter lógica de negócios ou código Java na página.

FBovo
  1. Obrigado, tirei a função geraIniciais e funcionou.
Criado 19 de novembro de 2007
Ultima resposta 19 de nov. de 2007
Respostas 3
Participantes 2