Mostrar/ocultar campo com JavaScript

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.

ja tentou colocar os campos entre?

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

Fala queridao…

tenta em vez de “block”, coloca “inline”

espero ter ajudado.

Cara, não adiantou, continua com problema.

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

espero ter ajudado

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.

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.

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

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.

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