Ir para conteúdo

POWERED BY:

Arquivado

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

ozzyvegeta

formulario de cadastro com combo pais

Recommended Posts

olá..eu estou tentando fazer um formulario de cadastro onde eu preciso de um campo chamado PAIS...quando o pais for secelionado o otro campo estados deve ser alterar e quando o estado for alterado a cidade deve se alterada...bom, acho q deu pra saca...tipo, eu consigo fazer da seguinte maneira, eu pego um combo e coloco no evento 'onchange' dele para enviar o formulario via POST com o id do pais selecionado, bom, so q se eu fizer assim vai ocorrer o seguinte problema, o formulario vai se enviado por inteiro, ou seja, todos os campos q o cara digito sera apagado...o otro problema é q vai fica lento ter q carrega a pagina di novo quando eu clicar em um determinado pais, estado ou cidade...bom, eu queria algo simples e rapido, onde quando eu clico em um determinado pais logo abaixo o estado muda sem precisa carregar a pagina novamente...tem como??valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atualizar sem carregar a página novamente? JAVASCRIPT

 

-------------------------

 

O esquema lá de sumir o que o cara digitou pode resolver assim:

<input name="campo" type="text" value="<?=$_POST[campo]?>">
É uma possibilidade... Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá..queria agradescer pela ajuda..eu consegui intende aquele seu codigo e dei umas alteras aqui e fico legal tb...agora ta funcionando legal....eu clico no pais, o estado muda...tipo, fico até q bem dinamico, da pra prenche qualquer combo...kkkkk..mas td graças a esse codigo...eu não sabia q dava pra abrir iframes invisiveis e depois ainda resgatar as variaveis do mesmo...tb descobri com esse codigo q se da pra chamar funções da pagina 'pai' usando a propriedade parent...esse novos conhecimentos serão muito uteis para mim....vou dexar de fazer muita coisa no php pra faze tb no js...muito obrigado...valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

pagina index.php

 

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html>  <head>  <title>Preenche combo</title>  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  <script language="JavaScript" src="script.js" type="text/JavaScript"></script>  </head>  <body onload="initFillRemoteCombo('Cadastro', 0, 'item');"><div style="DISPLAY: none; POSITION: absolute" align="left">  <IFRAME src name="myIframe" id="myIframe" width="400" height="100" marginwidth="0" marginheight="0"></IFRAME>  </div>  <form action="remote.php" method="post" name="Cadastro">  Pais:<br>  <select name="item" id="item" onChange="initFillRemoteCombo('Cadastro', this.value, 'subitem');">    <option value="1">ação</option>    <option value="2">Suspense</option>  </select><br>  Estado:<br>  <select name="subitem" id="subitem" onChange="">    <option>Selecione um item</option>  </select>  </form>  </body> </html>

pagina remote.php

<?	include("connect.php"); //Se conecta no banco de dados		$id = $_GET['item']; //Recupera o id do ESTADO	if ($id==0) {  $where = ""; // traz todos os registros	}	else {  $where = "where CIDADE_ID=$id"; traz os registros das cidades que pertence ao estado que foi selecionado pelo combo...  }	$result = mysql_query("select CIDADE, CIDADE_ID from TBL_CIDADE $where", $connection); // Faz o select di acordo com o id solicidado	?><script> 	var text = new Array();	var value = new Array();		<?  	  for ($iRow=0;$iRow<mysql_num_rows($result); $iRow++) {  	  	$text[$iRow]  = mysql_result($result, $iRow, 0);  	$value[$iRow] = mysql_result($result, $iRow, 1);  	echo "text[$iRow]= '$text[$iRow]';   ";  	echo "value[$iRow]= '$value[$iRow]';   ";  }  	?>       parent.fillComboSubItem();</script>
arquivo script.js

 

ComboItem = 0;ComboSubItem = 0; function initFillRemoteCombo(formName, ComboItemValue, ComboSubItemName){	ComboSubItem = document.forms[formName].elements[ComboSubItemName]; //ALTERE AQUI PARA SEU FORM E 2º SELECT  	var url;	url = 'remote.php?item='+ComboItemValue;		ComboSubItem.options.length = 0;	myIframe.location = url;	ComboSubItem.focus();} function fillComboSubItem(){	resultText = new Array();	resultValue = new Array();	var resultCount, i;		resultText = myIframe.text;	resultValue = myIframe.value;	resultCount = resultText.length;  //	alert(ComboSubItem);	//ComboSubItem.options.length = 0;//	addItem(ComboSubItem,'TODAS','',false,ComboSubItem.length);	for (i=0;i<resultCount;i++){    addItem(ComboSubItem,resultText[i],resultValue[i],false,ComboSubItem.length);  	}  }  function addItem(obj,strText,strValue,blSel,intPos){        var newOpt,i,ArTemp,selIndex;        selIndex = (blSel)?intPos:obj.selectedIndex;        newOpt = new Option(strText,strValue);        Len = obj.options.length+1        if (intPos > Len) return        obj.options.length = Len        if (intPos != Len) {             ArTemp = new Array();             for(i=intPos;i<obj.options.length-1;i++)                  ArTemp[i] = Array(obj.options[i].text,obj.options[i].value);             for(i=intPos+1;i<Len;i++)                  obj.options[i] = new Option(ArTemp[i-1][0],ArTemp[i-1][1]);        }        obj.options[intPos] = newOpt;        if (selIndex > intPos)             obj.selectedIndex = selIndex+1;        else if (selIndex == intPos)              obj.selectedIndex = intPos;   }  
agora é só criar a tabela

TBL_CIDADE (CIDADE_ID, ESTADO_ID, CIDADE)

 

e depois configurar o arquivo 'CONNEC.php' para o nome do banco de dados, usuario e senha....

 

 

pagina 'CONNEC.php'..

 

<?php$Host = 'localhost';$Port = 3306;    	// Nome do host do mysql$Database = 'db;  // Nome do banco de dados$User = 'user';  	// Usuario do banco de dados$Password = 'pwd;  // Senha do usuario$connection = mysql_connect($Host, $User, $Password) or die(error_msg(3));$dbMain = mysql_select_db($Database, $connection) or die(error_msg(4));?>

ja era...bom, esse exemplo é de como se carregar nos subcombo valores, eu dei como exemplo um select usando somente a tabela CIDADES, mais da pra criar uma outra tabela chamda estado e somente alterar o SELECT relacionando com a tabela ESTADO...valew...

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.