Passar informação num HiddenField (PHP)

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:
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.

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;
 
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
 
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:
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

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'];
 
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:
Back
Topo