1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Passar informação num HiddenField (PHP)

Discussão em 'Web Development' iniciada por khaluh, 12 de Junho de 2007. (Respostas: 6; Visualizações: 2193)

  1. khaluh

    khaluh Power Member

    Viva

    Estou a fazer um formulário onde tenho a necessidade de passar um campo através de um campo oculto (não arranjei melhor maneira )

    Então tenho o seguinte código:

    PHP:

    <select name="sala" onChange="javascript:altera_esc()">
                        <option value='Deve escolher uma sala' selected> Sala </option>                
                        <?php
                            
    while($row_local=mysql_fetch_array($local))
                            {
                                  echo 
    "<option value='$row_local[loc_localizacao]'>$row_local[loc_localizacao]</option>";
                                
                            }
                        
    ?>
                    </select>
                        <input name="sala_esc" id= "sala_esc" type="hidden" value="<?php echo $row_local[loc_localizacao]; ?>">

    Depois é enviado para a página de "tratamento" e o campo que pega o valor é o seguinte:

    PHP:
                $sala $_POST['sala_esc'];
    A função JavaScript que é chamada (altera_esc()) é a seguinte:
    Código:
    function altera_esc()
    {
        document.avaria.sala_esc.value = document.avaria.loc_localizacao.value;
    }
    
    Só que não me está a fazer a alteração pretendida e depois dá-me erro na base de dados.

    Eu tenho uma resolução parecida(apenas na vez de alterar um hiddenfield altera um textfield) na mesma página, que funciona e tem o seguinte código:

    PHP:
    <select name="sala" onChange="javascript:altera_esc();">
                        <option value='Deve escolher uma sala' selected> Sala </option>                
                        <?php
                            
    while($row_local=mysql_fetch_array($local))
                            {
                                  echo 
    "<option value='$row_local[loc_localizacao]'>$row_local[loc_localizacao]</option>";
                                
                            }
                        
    ?>
                    </select>
                        <input name="sala_esc" id= "sala_esc" type="hidden" value="<?php echo $row_local[loc_localizacao]; ?>">    
    A função JavaScript que é chamada (altera()) é a seguinte:
    Código:
    function altera()
    {
        document.avaria.descritivo.value = document.avaria.ai_descritivo.value;
    }
    
    Se pudessem ajudar, agradecia



    Problema resolvido: tão simples quanto isto
    PHP:
    function altera_esc()
    {
        
    document.avaria.sala_esc.value document.avaria.sala.value;
    }
     
    Última edição: 12 de Junho de 2007
  2. p3dro

    p3dro Power Member

    Mas o campo "loc_localizacao" aparece onde? Se bem percebi queres que o hidden field assuma o mesmo valor da dropdown, certo? Não será antes desta maneira?
    Código:
    document.avaria.sala_esc.value = document.avaria.sala.value;
     
  3. p3dro

    p3dro Power Member

    parece que entretanto descobriste :x2:
     
  4. khaluh

    khaluh Power Member

    P3dro, obrigado na mesma. :cool:

    Coloquei no forum, mas entretanto fui batalhando a procura da resposta e encontrei... e resolvi deixar o post de modo a poder esclarecer alguem que tivesse uma dúvida parecida
     
  5. khaluh

    khaluh Power Member

    Passagem de valor da variável

    Viva

    Tenho andado aqui de volta um código e tenho a impressão que não me apercebo do erro por estar aqui a embirrar à algum tempo.

    Se puderem ajudar agradeço.

    O código que funciona é este:

    PHP:
               echo "<td><a href='alterar.php?id={$linha['id']}'>Alterar</a> / "
    Que depois tenho na página alterar.php o seguinte código para capturar o valor da variável (muito básico, mas para o que serve dá para mostrar)
    PHP:
        $id $_GET['id']; 
    O código que me parece ser igual é este (e que nao funciona):

    PHP:
               echo "<td><a href='comun/resolvido.php?equip={$linha['rc_equip']}'>Resolvido</a>";
    E na página resolvido.php tenho o seguinte:

    PHP:
        $equip $_GET['rc_equip']; 
    O problema é que passa na url o rc_equip, mas não consigo "captura-lo", pois fazendo
    PHP:
        echo $equip $_GET['rc_equip']; 
    Não escreve o valor do $equip
     
    Última edição: 12 de Junho de 2007
  6. p3dro

    p3dro Power Member

    mas tu no href tás a passar a variável "equip"

    PHP:
    echo "<td><a href='comun/resolvido.php?equip={$linha['rc_equip']}'>Resolvido</a>"
    n terás de ter antes este código?
    PHP:
    $equip $_GET['equip'];
     
  7. khaluh

    khaluh Power Member

    P3dro, uma vez mais obrigado.

    Não disse que devia ser uma coisa simples, à frente dos olhos mas que de tanto embirrar não me apercebia...

    As voltas que aqui dei a tentar descobrir antes de resolver colocar a duvida...
     
    Última edição: 12 de Junho de 2007

Partilhar esta Página