• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

_JR_

[Resolvido] Receber variável de um form

6 mensagens neste tópico

Utilizando algo deste género: http://satya61229.blogspot.com/2007/04/dynamically-populate-select-list-by.html

Tenho um text input onde escrevo um certo número, e através desse número, irá aparecer uma select list em baixo com variadas opções.

Tudo isto está feito, o meu problema é depois quando envio os dados da form, os dados dessa select list simplesmente não aparecem.

Quando faço por exemplo

echo $_POST['select-list'];

Não me aparece nada. O problema está em algo que eu preciso de fazer ou este método de fazer aparecer a informação por AJAX não é o mais correcto e impossibilita o que eu quero fazer?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ora bem... Seguiste o código todo que tá nessa coisa...? A razão pela qual $_POST['select-list'] está em branco é simplesmente porque essa variável não existe (isto assumindo que não mudaste o código). Alegadamente deves receber a variável $_POST['ch'], como está aqui nesta linha:

<select name="country" onchange="htmlData('city.php', 'ch='+this.value)" />

isto basicamente vai chamar a função htmlData(); sempre que a select for mudada. Os parâmetros são o url do ficheiro PHP que vai receber os dados (neste caso 'city.php'), e a querystring (as variaveis a serem passadas, neste caso será a variável 'ch', com o valor seleccionado da select).

Resumindo, tens de verificar a variável $_POST['ch'].

Eventualmente, se tiveres com ideias de fazer qualquer coisa de mais complexo com AJAX, pensa em usares uma das numerosas bibliotecas de javascripts que existem por aí, como por exemplo a jQuery, bastante boa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que eu quero é usar a select-list que sai através desse city.php para outro ficheiro. Usar o $_POST['cityList'] .

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ah, ok, já tou a ver o esquema. Portanto a select já aparece bem, com os dados, certo? Depois não consegues é usar o valor dessa select no PHP... ok.  Já experimentaste fazer um var_dump($_POST)? Verifica se aparece alguma coisa de jeito. De resto, como é que tás a enviar os dados para o PHP? Mais código seria bom, para se perceber melhor como tão as coisas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

echo "
<td class=\"". ($icounter % 2 == 1 ? "ListaLinhaImpar":"ListaLinhaPar")."\">
<form id=\"mod-".$y."\" style=\"display:block;\" method=\"POST\" action=\"gestao_galeria.php?page_action=save&z=".$z."\">
<a href=\"http://blabla.com".$imagens[$z]."\">
<img src=\"http://blabla.com/resize.php?im=".$imagens[$z]."&maxsize=150\" width=\"150\" height=\"150\" border=\"0\">
</a>
</td>
<td>
<strong>Acção:
<select class=\"FormularioProcura\" id=\"proj_op".$z."\" name=\"proj_op".$z."\">
<option value=\"\"  selected ></option>
<option value=\"move\" >Mover para</option>
<option value=\"copy\" >Copiar para</option>
<option value=\"delete\" >Apagar</option>
</select><br />
Molde:
<input class=\"FormularioProcura\" type=\"text\" name=\"molde".$z."\" maxlength=\"5\" size=\"10\" onchange=\"htmlData".$z."('fases.php?z=".$z."', 'molde='+this.value)\" /><br />
Fase: 
<div id=\"txtResult".$z."\"><select class=\"FormularioProcura\" name=\"proj_dest".$z."\" id=\"proj_dest".$z."\">
<option value=\"\"  selected ></option>
</select></div>
<input type=\"hidden\" value=\"".$imagens[$z]."\" name=\"imagem".$z."\">
<input type=\"hidden\" value=\"".$z."\" name=\"z\">
Data de criação: ".date("d F Y", filectime($imagens[$z]))."<br />
Hora: ".date("H:i:s", filectime($imagens[$z]))."<br />
<input type=\"button\" class=\"FormularioProcura\" style=\"background-position: 1px 2px; padding: 0px 0px 0px 12px; text-align: center; background-image: url(img/core/stock-save.png); background-repeat: no-repeat; cursor:pointer;\"
title=\"Guardar alterações\" value=\"Aplicar alterações\" onclick=\"javascript:doSubmit('mod-".$y."');\" />
</form>
	</td>\n";

O código do fases.php é apenas echo $_GET['proj_dest'.$z] .

Fui experimentar o exemplo do site que tirei e esse dá.

O meu, desaparece simplesmente o form! :\

Quando faço Page Info antes de escrever o tal nº, está lá o form tal como devia estar, no fim de fazer e do AJAX actuar, desaparece do Page Info.

Continuo receptível a sugestões...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já resolvi o problema.

O <form> estava numa coluna diferente do </form> (como podem ver acima) e por isso não funcionava. "Fechava" o form quando fechava a coluna. Solução, passar o form para a mesma coluna que o </form> :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora