egalauber 0 Denunciar post Postado Agosto 3, 2008 Pessoal... seguinte... Tenho uma página com um formulário de busca q chama a página “acessandobd.php”. Neste formulário eu envio dois campos “preco” e “secao” pelo método POST. Na página “acessandobd.php” eu recebo normalmente: $TestaSecao=$_POST["secao"]; $TestaPreco=$_POST["preco"]; Nesta página eu faço uma paginação dos resultados. Sendo q os links dessa paginação chamam a página “acessandobd.php” de novo, envia uma variável pelo método GET e chama uma função “Envia()”. for($i=0;$i<$TotalPaginas;$i++){ $proxima = $i * $qtd_pagina; ?><a href="acessandobd.php?proxima=<?php echo $proxima;?>" onClick="return Envia()"><?php echo $i;?></a><?php }Mas aí é q vem o problema. Nesta página eu tenho as duas linhas recebendo “secao” e ”preco” então eu tenho q criar um formulário e enviar “secao” e ”preco” de novo. Daí eu criei o formulário usando o “hidden” e criei uma função em JavaScript para executar o formulário. <script> function Envia(){ document.formulario.submit(); } </script> <form name="formulario" method="post" action="acessandobd.php"> <input type="hidden" name="secao" value=<?php echo "'".$TestaSecao."'";?>> <input type="hidden" name="preco" value=<?php echo "'".$TestaPreco."'";?>> </form> Só q quando eu clico no link da paginação ele chama a página mas a página não recebe nem “secao” e nem “preco”. Se eu não chamar a função “Envia()” no link q tá dentro do “for”, e chama-la usando o “onunload”, a página recebe “secao” e “preco” mas não recebe o “proxima” q vai pelo GET. <body onUnload="return Envia()"></body> Entenderam o meu problema? Eu preciso mandar uma variável pelo método GET e duas pelo método POST para a mesma página. To fazendo do jeito certo?? Ajudem aí!!!! Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Agosto 3, 2008 Você pode criar campos hidden no form, ou passar por GET mesmo, no action: <form name="formulario" method="post" action="acessandobd.php?var1=valor&var2=valor2"> Compartilhar este post Link para o post Compartilhar em outros sites
egalauber 0 Denunciar post Postado Agosto 3, 2008 Você pode criar campos hidden no form, ou passar por GET mesmo, no action: <form name="formulario" method="post" action="acessandobd.php?var1=valor&var2=valor2"> Então, eu criei os campos hidden mas veja o q acontece: no link eu chamo a página e passo um valor pelo GET: "acessandobd.php?proxima=<?php echo $proxima;?>" só q quando eu envio o form ele substitui isso, pq no form não tem o GET: <form name="formulario" method="post" action="acessandobd.php"> então ele tá enviando o action do form "acessandobd.php" ao inves de enviar o q está no link "acessandobd.php?proxima=<?php echo $proxima;?>" eu preciso q ele envie isso: "acessandobd.php?proxima=<?php echo $proxima;?>" + o form. Compartilhar este post Link para o post Compartilhar em outros sites
egalauber 0 Denunciar post Postado Agosto 4, 2008 não tem como eu dizer q o action do form tem q ser igual ao link????? tipo: <form name="formulario" method="post" action="link" ou "href">????????? sei lá.... algo desse tipo. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Agosto 4, 2008 alterações on-the-fly podem ser feitas com javascript escopo <script language=javascript> OBECT.action = "value"; </script> pesquise também por eventos de click consulte o forum JavaScript Compartilhar este post Link para o post Compartilhar em outros sites
egalauber 0 Denunciar post Postado Agosto 4, 2008 alterações on-the-fly podem ser feitas com javascript escopo <script language=javascript> OBECT.action = "value"; </script> pesquise também por eventos de click consulte o forum JavaScript to tentando assim: for($i=0;$i<$TotalPaginas;$i++){ $proxima = $i * $qtd_pagina; $paraForm = (string) ("acessandobd.php?proxima=" . $proxima); ?><a href="acessandobd.php?proxima=<?php echo $proxima;?>" onClick="Envia(<?php echo $paraForm;?>)"><?php echo $i;?></a> <?php } ?> <script> function Envia(actionForm){ document.formulario.action = actionForm; document.formulario.submit(); } </script> <form name="formulario" method="post"> <input type="hidden" name="secao" value=<?php echo "'".$TestaSecao."'";?>> <input type="hidden" name="preco" value=<?php echo "'".$TestaPreco."'";?>> </form> <body onUnload="return Envia()"> </body> mas não tá dando... aparece a página vazia apenas com a palavra "undefined" será q o caminho é esse mesmo?? ajuda aí galera!!!... Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Agosto 5, 2008 é quase isso.. sugiro que preste atenção no que é PHP e no que é HTML / JavaScript / CSS .. tente mais uma vez, se ficar muito dificil fale aí Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Mussi 0 Denunciar post Postado Agosto 5, 2008 Tente fazer tudo por POST: <script language="javascript" type="text/javascript"> function fPaginar(formularioID, proxima) { if (document.getElementById('proxima')) document.getElementById('proxima').value=proxima; else window.document.formulario.proxima.value=proxima; if (document.getElementById(formularioID)) document.getElementById(formularioID).submit(); else window.document.formulario.submit(); } </script> <form name="formulario" id="formulario" method="post" action="acessandobd.php"> <?php for($i=0;$i<$TotalPaginas;$i++) { $proxima = $i * $qtd_pagina; ?> <a href="#" onclick="fPaginar('formulario', <?=$proxima?>);"><?php echo $i;?></a> <?php } ?> <input type="hidden" name="proxima" id="proxima" value="" /> <!-- Aqui você pode colocar o valor tratado de próxima, igual fez com sessao e preco --> <input type="hidden" name="secao" value="<?=$TestaSecao?>" /> <input type="hidden" name="preco" value="<?=$TestaPreco?>" /> </form> [x]´s Compartilhar este post Link para o post Compartilhar em outros sites
egalauber 0 Denunciar post Postado Agosto 5, 2008 Tente fazer tudo por POST: <script language="javascript" type="text/javascript"> function fPaginar(formularioID, proxima) { if (document.getElementById('proxima')) document.getElementById('proxima').value=proxima; else window.document.formulario.proxima.value=proxima; if (document.getElementById(formularioID)) document.getElementById(formularioID).submit(); else window.document.formulario.submit(); } </script> <form name="formulario" id="formulario" method="post" action="acessandobd.php"> <?php for($i=0;$i<$TotalPaginas;$i++) { $proxima = $i * $qtd_pagina; ?> <a href="#" onclick="fPaginar('formulario', <?=$proxima?>);"><?php echo $i;?></a> <?php } ?> <input type="hidden" name="proxima" id="proxima" value="" /> <!-- Aqui você pode colocar o valor tratado de próxima, igual fez com sessao e preco --> <input type="hidden" name="secao" value="<?=$TestaSecao?>" /> <input type="hidden" name="preco" value="<?=$TestaPreco?>" /> </form> [x]´s pode ser.... mas me explica esses três aquí: getElementById // pra q q serve isso??? id="formulario" // o q é o id do formulário?? href="#" // no lugar desse "#" é pra colocar a URL ou deixa isso?? pra q q ser esse "#" Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 5, 2008 mas me explica esses três aquí: getElementById // pra q q serve isso??? id="formulario" // o q é o id do formulário?? href="#" // no lugar desse "#" é pra colocar a URL ou deixa isso?? pra q q ser esse "#" http://forum.imasters.com.br/public/style_emoticons/default/seta.gif getElementById(); - JavaScript, Serve para pegar o ID de um determinado item,objeto. que no caso está pegando o ID do elemento "proximo" que é o seu campo hidden. http://forum.imasters.com.br/public/style_emoticons/default/seta.gif id="formulario" - HTML, Seta um ID ao elemento formulário, caso precise pegar ID com o getElementById(); http://forum.imasters.com.br/public/style_emoticons/default/seta.gif href="#" - HTML, TAG usada para links, como ali está usando Javascript, não é preciso ser colocado link ai pois o que será executado e a função ONCLICK do JavaScript. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Mussi 0 Denunciar post Postado Agosto 5, 2008 E ae egalauber.. resolvido o problema ? [x]´s Compartilhar este post Link para o post Compartilhar em outros sites
egalauber 0 Denunciar post Postado Agosto 5, 2008 E ae egalauber.. resolvido o problema ? [x]´s Grande Rafael Mussi!!!!..... depois de 5 dias agarrado nisso... consegui resolver o problema!!!! eu só tive q voltar na página anterior e colocar essa linha no formulário: <input name="proxima" type="hidden" value="0"> para q "proxima" recebesse um primeiro valor!! xuxu beleza!!!!!! vlw cara!!!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites