Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

YPF

REFRESH em um único campo?! Tem como?

Recommended Posts

:blink:

Pessoal tenho um formulário que por sua vez possue diversos campos, dentre eles um campo <SELECT><option> onde ele é populado no momento em que abro a página...

queria saber se é possível atualizar (REFRESH) apenas este campo sem perder o que já foi digitado nos outros campos do formulário...

 

Acontece que posso inserir mais uma item que estaria sendo inserido no campo em questão quando o mesmo fosse populado, durante o preenchimento do form...

 

Desde já Agradeço a ajuda. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

YPF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for para cadastro você coloca

 

<input name"nome" type="text" value="<?php if($_POST['nome']){echo $_POST['nome'];}?>" />

pq se você der um refresh via "Submit" você nao perde os dados.

 

nao sei se é isso que você procurava

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é bem isso... acontece que quero apertar um botão ao lado deste <select> e dar um "reload"/"refresh" para que ele adicione os valores que foram adicionados enquanto eu estava postando os outros campos...

 

Vamos ver se isto ajuda... segue parte do codigo...

 

<SELECT name="idimagem" class="formfield">  <?$img_query = mysql_query("SELECT * FROM $tb6 order by id"); while($linha = mysql_fetch_array($img_query)) { $id = $linha['id'];$imagnspst = $linha['imagem'];echo "<option value=$id>$imagnspst</option>"; }?></SELECT> <input onclick="RefreshOption()" type="button" value="..." style="font-family: Verdana; font-size: 8 pt; font-weight: bold">

 

Mais uma vez Muito Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer isso que eu falei.. e colocar esse botao de reload como submit tbm..

 

ex:

<?phpif($_POST['enviar'] == Enviar){aqui envia os dados do Form.}?><form action=mesmapagina.php><select name=teste><option>opcao1</option><option>opcao2</option>//dados recuperados do BD<option>opcao3</option></select><input type=submit name=atualiza value=atualiza> //atualiza pagina mantendo os dados<br><input name"nome" type="text" value="<?php if($_POST['nome']){echo $_POST['nome'];}?>" /><input type=submit name=enviar value=Enviar> // envia formulario </form>

 

Agora se você quiser fazer exatamente do jeito que você está falando, dá uma procurada sobre AJAX . é uma maneira de se trabalhar com Javascript.

 

espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara usa AJAX que irá conseguir fazer o que está querendo...

tipo:pagina.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml:lang="pt-br" lang="pt-br" xmlns="http://www.w3.org/1999/xhtml"><head><title>Teste com Ajax</title></head><script type="text/javascript">function Ajax() {var req;  try {	req = new ActiveXObject("Microsoft.XMLHTTP");  } catch(e) {	 try {	  req = new ActiveXObject("Msxml2.XMLHTTP");  } catch(ex) {	 try {	  req = new XMLHttpRequest();  } catch(exc) {	 alert("Esse browser não tem recursos para uso do Ajax");	req = null;   }  } } return req;}function  reflesh(){var ajax = new Ajax();ajax.open("POST", "ajax.php", true);ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");ajax.onreadystatechange = function() { if(ajax.readyState == 4) {	if(ajax.status == 200) {	  document.getElementById("div_select").innerHTML = ajax.responseText;	} else {	 <!-- ajax.statusText) //-->	}  } } ajax.send("acao=reflesh"); delete ajax;}</script><body><form action=mesmapagina.php><div id="div_select"><select name=teste onclick="reflesh()";><option>opcao1</option><option>opcao2</option>//dados recuperados do BD<option>opcao3</option></select></div><input type=submit name=atualiza value=atualiza> //atualiza pagina mantendo os dados<br><input name"nome" type="text" value="<?php if($_POST['nome']){echo $_POST['nome'];}?>" /><input type=submit name=enviar value=Enviar> // envia formulario </form></body></html>
ajax.php
<?echo "<select name=teste onclick=\"reflesh()\";>";$img_query = mysql_query("SELECT * FROM $tb6 order by id"); while($linha = mysql_fetch_array($img_query)) { $id = $linha['id'];$imagnspst = $linha['imagem'];echo "<option value=$id>$imagnspst</option>\n"; }echo "</select>";?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

use ajax, ou faça um sistema de viewstate, esse sistema é muito usado no dotnet, onde é mantido todos os dados da pagina sem perder nada

 

ate a posição da pagina ele guarda

 

para chegar nesse efeito você precisa usar o Frameworks Prado

 

mas só um detalhe é muito trabalhoso usar o prado só pra isso, porque o prado é um sistema muito bom e completo.

 

entao use ajax ou salve os dados em campos hidden e mostre toda fez que atualiza a tela

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos, :wacko:

 

Bem que estou tentando, mas num tô conseguindo ter sucesso utilizando o AJAX http://forum.imasters.com.br/public/style_emoticons/default/excl.gif :huh:

 

Não sei o que estou fazendo errado... segui todas as dicas acima e quando atualizo perco os valor da caixas de texto que se encontram também na página... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

 

 

Pelamordedeus me ajudem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.