GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Mostrar/ocultar campo com JavaScript


#1

Oi pessoal, eu me deparei com um problema, eu tenho um select com duas opções, e quando eu seleciona uma delas o formulário deveria exibir um campo que so aparece se essa opção está selecionada.

<tr>
        <td class="tdLabel">Frete pago por:</td><td><s:select id="frete" name="budget.frete" list="#{'FOB':'FOB','CIF':'CIF'}" onchange="show()" /></td>            
        </tr> 
        <tr>
            <td class="tdLabel" style="display:none;" id="label">Valor Deslocamento:</td><td style="display:none;" id="campo"><s:textfield name="budget.valorDeslocamento"  value="%{budget.valorDeslocamento}" cssClass="campoPequeno campoNumerico" /></td>
        </tr>

Minha função javaScript, se CIF estiver selecionado:

function show(){
        if(document.getElementById('frete').value =="CIF"){
            document.getElementById('label').style.display = 'block';
            document.getElementById('campo').style.display = 'block';
        }else{
            document.getElementById('label').style.display = 'none';
            document.getElementById('campo').style.display = 'none';
        }
    }

Funciona, mais ele não alinha os campos no formulario, aparece fora do luguar e tal, vira uma "vcs sabem", se alguem tiver alguma dica eu testo.


#2

ja tentou colocar os campos entre?

 &lt;table&gt; &lt;/table&gt;

#3

Esta entre table e /table, pois é uma tabela.


#4

Fala queridao.....

tenta em vez de "block", coloca "inline"

espero ter ajudado.


#5

Cara, não adiantou, continua com problema.


#6

fala cara entao coloca esse id onde vc da o display block na TR e não na TD..

espero ter ajudado


#7

também já tinha feito isso, não muda nada e soma outro problema, ele fica dando espaço na vertical cada vez que eu clico mudo a opção do select.


#8

Então isso é problema de CSS..

ai tem que ver com mais detalhe o que esta acontecendo, pode ser algum componente que esta com float
e ai segue uma linha muito ampla de problemas de layout.


#9

Valeu a ajuda cara, vou ver o que eu faço aqui. Sucesso.


#10

Pode ser problema tbm pq a tabela vai criar uma td primeiro e depois tem criar outra,
então pega os dois Label e o Campo e coloca na mesma TD

se nao for isso, é no css.


#11

Mudei o esquema, ao inves de mostrar/ocultar o campo ele habilita/desabilita, funcionou e ficou show de bola.


#12