View Full Version : Passar informação num HiddenField (PHP)


khaluh
12-06-2007, 13:01
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:



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


$sala = $_POST['sala_esc'];
A função JavaScript que é chamada (altera_esc()) é a seguinte:

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:


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

function altera()
{
document.avaria.descritivo.value = document.avaria.ai_descritivo.value;
}
Se pudessem ajudar, agradecia



Problema resolvido: tão simples quanto isto

function altera_esc()
{
document.avaria.sala_esc.value = document.avaria.sala.value;
}

p3dro
12-06-2007, 13:51
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:



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


$sala = $_POST['sala_esc'];
A função JavaScript que é chamada (altera_esc()) é a seguinte:

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?
document.avaria.sala_esc.value = document.avaria.sala.value;

p3dro
12-06-2007, 13:53
parece que entretanto descobriste :x2:

khaluh
12-06-2007, 14:02
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

khaluh
12-06-2007, 17:00
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:

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)
$id = $_GET['id']; O código que me parece ser igual é este (e que nao funciona):

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

$equip = $_GET['rc_equip']; O problema é que passa na url o rc_equip, mas não consigo "captura-lo", pois fazendo
echo $equip = $_GET['rc_equip']; Não escreve o valor do $equip

p3dro
12-06-2007, 17:31
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:

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)
$id = $_GET['id']; O código que me parece ser igual é este (e que nao funciona):

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

$equip = $_GET['rc_equip']; O problema é que passa na url o rc_equip, mas não consigo "captura-lo", pois fazendo
echo $equip = $_GET['rc_equip']; Não escreve o valor do $equip

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


echo "<td><a href='comun/resolvido.php?equip={$linha['rc_equip']}'>Resolvido</a>"


n terás de ter antes este código?
$equip = $_GET['equip'];

khaluh
12-06-2007, 17:35
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...