frnd Postado Julho 12, 2007 Denunciar Share Postado Julho 12, 2007 (editado) A pagina abaixo não consegue buscar as cidades do estado respectivo... fazendo com que as cidades não vem.. será que deve ser erro do JavaScript? posição do JavaScript?[]s<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns=http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" href="../biblioteca/estilo/estilo.css" type="text/css" /></head><head><title>Egressos</title> <script language="javascript" src="../biblioteca/javascript/JS.js"> </script> <script language="JavaScript"> function Dados(valor) { //verifica se o browser tem suporte a ajax try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch(ex) { try { ajax = new XMLHttpRequest(); } catch(exc) { alert("Esse browser não tem recursos para uso do Ajax"); ajax = null; } } } //se tiver suporte ajax if(ajax) { //deixa apenas o elemento 1 no option, os outros são excluídos document.forms[0].listCidades.options.length = 1; idOpcao = document.getElementById("opcoes"); ajax.open("POST", "./cidades.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.onreadystatechange = function() { //enquanto estiver processando...emite a msg de carregando if(ajax.readyState == 1) { idOpcao.innerHTML = "Carregando...!"; } //após ser processado - chama função processXML que vai varrer os dados if(ajax.readyState == 4 ) { if(ajax.responseXML) { processXML(ajax.responseXML); } else { //caso não seja um arquivo XML emite a mensagem abaixo idOpcao.innerHTML = "--Primeiro selecione o estado--"; } } } //passa o código do estado escolhido var params = "estado="+valor; ajax.send(params); } } function processXML(obj){ //pega a tag cidade var dataArray = obj.getElementsByTagName("cidade"); //total de elementos contidos na tag cidade if(dataArray.length > 0) { //percorre o arquivo XML paara extrair os dados for(var i = 0 ; i < dataArray.length ; i++) { var item = dataArray; //contéudo dos campos no arquivo XML var codigo = item.getElementsByTagName("codigo")[0].firstChild.nodeValue; var descricao = item.getElementsByTagName("descricao")[0].firstChild.nodeValue; idOpcao.innerHTML = "--Selecione uma das opções abaixo--"; //cria um novo option dinamicamente var novo = document.createElement("option"); //atribui um ID a esse elemento novo.setAttribute("id", "opcoes"); //atribui um valor novo.value = codigo; //atribui um texto novo.text = descricao; //finalmente adiciona o novo elemento document.forms[0].listCidades.options.add(novo); } } else { //caso o XML volte vazio, printa a mensagem abaixo idOpcao.innerHTML = "--Primeiro selecione o estado--"; } }</script> <body><div id="site"> <?php include_once("../biblioteca/egresso/topo.php"); ?> <div class="conteudo2"> <?php include_once("../biblioteca/esquerdo.php"); ?> <?php include_once ("../biblioteca/direito.php"); ?> <div class="ConteudoMeio"> <!--div class="CaixaLocalizacao"> <div class="Localizacao"> <a href="/./egressos_sist/index.php">Home</a> >> <b>Cadastro Egresso</b> </div> </div--> <div class="CaixaMeio"> <div class="ContedoCxMeio2"> <form name="form" action="CadEgresso_exe.php" method="post" class="formCad2" id="formCad2" onSubmit="checa(this)"> <table class="TabelaDadosCad"> <tr> <td class="label">ID Antigo:</td> <td> <input type="text" class="campoid" name="id"></td> </tr> <tr> <td class="label">Nome:</td> <td> <input type="text" class="camponome" name="nome"></td> </tr> <tr> <td class="label">Dt. Nasc.:</td> <td><input type="text" class="campodata" name="dtnasc"></td> </tr> <tr> <td class="label">Sexo:</td> <td><select option="sexo" class="camposexo"> <option value="0">Selecione Abaixo:</option> <option value="Masculino">Masculino</option> <option value="Feminino">Feminino</option> </select> </td> </tr> <tr> <td class="label">RG:</td> <td><input type="text" maxlength="12" class="camporg" name="rg"></td> </tr> <tr> <td class="label">Órgão Ex.:</td> <td><input type="text" class="campoorgaoexpeditor" name="orgaoexpeditor"></td> </tr> <tr> <td class="label">Estado:</td> <?php require_once("../biblioteca/connectmysql.php"); ?> <? //PEGA OS ESTADOS $sql = " SELECT a.idestado, a.nome, a.uf FROM estado a ORDER BY a.nome"; //EXECUTA A QUERY $sql = mysql_query($sql); $row = mysql_num_rows($sql); ?> <td> <select name="listEstados" class="camposelectEstado" onChange="Dados(this.value);"> <option value="0">--Selecione o estado >></option> <? for($i=0; $i<$row; $i++) { ?> <option value="<? echo mysql_result($sql, $i, "idestado"); ?>"> <? echo mysql_result($sql, $i, "nome"); ?></option> <? } ?> </select> </td> </tr> <tr> <td class="label">Cidade:</td> <td><select name="listCidades" class="camposelectCidade"> <option id="opcoes" value="0">--Primeiro selecione o estado--</option> </select></td> <?php require_once("../biblioteca/closemysql.php"); ?> </tr> <tr> <td class="label">CPF:</td> <td><input type="text" maxlength="14" class="campocpf" name="cpf" onkeypress="return txtBoxFormat(document.cadastrar_cliente_fisico, 'cpf', '999.999.999-99', event);" onchange="return valida_form(document.cadastrar_cliente_fisico)" ></td> </tr> <tr> <td class="label">Email:</td> <td><input type="text" class="campoemail" name="email"></td> </tr> <tr> <td class="label">Est. Civil:</td> <td><select name="ec" class="camposelectEC"> <option value="">Escolha Abaixo</option> <option value="Casado">Casado <option value="Solteiro">Solteiro <option value="Divorciado">Divorciado <option value="Amasiado">Amasiado <option value="Uniao Estavel">União Estável</option> </select> </td> </tr> <tr> <td class="label">Username:</td> <td><input type="text" class="campousername" name="usuario"> </td> </tr> <tr> <td class="label">Senha:</td> <td><input type="password" class="camposenha" name="senha"></td> </tr> <tr> <td colspan="2"><br> <input type="submit" name="cadastrar" value="" class="btnCad"> <input type="submit" name="alterar" value="" class="btnAlterar"> <input type="reset" name="limpar" value="" class="btnLimpar"> </td> </tr> </table> </form> </div> </div> </div> </div> <?php include_once ("../biblioteca/base.php"); ?></div></body></html>---------------------------------------------------------------------------------------cidades.php<?//CONECTA AO MYSQLrequire_once("../biblioteca/connectmysql.php");//RECEBE PARÃMETRO $pEstado = $_POST["estado]; //QUERY $sql = " SELECT a.idcidade, a.nome FROM cidade a WHERE a.idestado = ".$pEstado." ORDER BY a.nome"; //EXECUTA A QUERY $sql = mysql_query($sql); $row = mysql_num_rows($sql); //VERIFICA SE VOLTOU ALGO if($row) { //XML $xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; $xml .= "<cidade>\n"; //PERCORRE ARRAY for($i=0; $i<$row; $i++) { $codigo = mysql_result($sql, $i, "idcidade"); $descricao = mysql_result($sql, $i, "nome"); $xml .= "<cidade>\n"; $xml .= "<codigo>".$codigo."</codigo>\n"; $xml .= "<descricao>".ucfirst(strtolower($descricao))."</descricao>\n"; $xml .= "</cidade>\n"; }//FECHA FOR $xml.= "</cidade>\n"; //CABEÇALHO Header("Content-type: application/xml; charset=iso-8859-1"); }//FECHA IF (row) //PRINTA O RESULTADO echo $xml; ?> Editado Julho 12, 2007 por frnd Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Julho 13, 2007 Denunciar Share Postado Julho 13, 2007 http://scriptbrasil.com.br/forum/index.php?showtopic=104454não crie topicos duplicados Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
frnd
A pagina abaixo não consegue buscar as cidades do estado respectivo... fazendo com que as cidades não vem.. será que deve ser erro do JavaScript? posição do JavaScript?
[]s
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="../biblioteca/estilo/estilo.css" type="text/css" />
</head>
<head>
<title>Egressos</title>
<script language="javascript" src="../biblioteca/javascript/JS.js">
</script>
<script language="JavaScript">
function Dados(valor) {
//verifica se o browser tem suporte a ajax
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(ex) {
try {
ajax = new XMLHttpRequest();
}
catch(exc) {
alert("Esse browser não tem recursos para uso do Ajax");
ajax = null;
}
}
}
//se tiver suporte ajax
if(ajax) {
//deixa apenas o elemento 1 no option, os outros são excluídos
document.forms[0].listCidades.options.length = 1;
idOpcao = document.getElementById("opcoes");
ajax.open("POST", "./cidades.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.onreadystatechange = function() {
//enquanto estiver processando...emite a msg de carregando
if(ajax.readyState == 1) {
idOpcao.innerHTML = "Carregando...!";
}
//após ser processado - chama função processXML que vai varrer os dados
if(ajax.readyState == 4 ) {
if(ajax.responseXML) {
processXML(ajax.responseXML);
}
else {
//caso não seja um arquivo XML emite a mensagem abaixo
idOpcao.innerHTML = "--Primeiro selecione o estado--";
}
}
}
//passa o código do estado escolhido
var params = "estado="+valor;
ajax.send(params);
}
}
function processXML(obj){
//pega a tag cidade
var dataArray = obj.getElementsByTagName("cidade");
//total de elementos contidos na tag cidade
if(dataArray.length > 0) {
//percorre o arquivo XML paara extrair os dados
for(var i = 0 ; i < dataArray.length ; i++) {
var item = dataArray;
//contéudo dos campos no arquivo XML
var codigo = item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
var descricao = item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
idOpcao.innerHTML = "--Selecione uma das opções abaixo--";
//cria um novo option dinamicamente
var novo = document.createElement("option");
//atribui um ID a esse elemento
novo.setAttribute("id", "opcoes");
//atribui um valor
novo.value = codigo;
//atribui um texto
novo.text = descricao;
//finalmente adiciona o novo elemento
document.forms[0].listCidades.options.add(novo);
}
}
else {
//caso o XML volte vazio, printa a mensagem abaixo
idOpcao.innerHTML = "--Primeiro selecione o estado--";
}
}
</script>
<body>
<div id="site">
<?php include_once("../biblioteca/egresso/topo.php"); ?>
<div class="conteudo2">
<?php include_once("../biblioteca/esquerdo.php"); ?>
<?php include_once ("../biblioteca/direito.php"); ?>
<div class="ConteudoMeio">
<!--div class="CaixaLocalizacao">
<div class="Localizacao">
<a href="/./egressos_sist/index.php">Home</a> >> <b>Cadastro Egresso</b>
</div>
</div-->
<div class="CaixaMeio">
<div class="ContedoCxMeio2">
<form name="form" action="CadEgresso_exe.php" method="post" class="formCad2" id="formCad2" onSubmit="checa(this)">
<table class="TabelaDadosCad">
<tr>
<td class="label">ID Antigo:</td>
<td> <input type="text" class="campoid" name="id"></td>
</tr>
<tr>
<td class="label">Nome:</td>
<td> <input type="text" class="camponome" name="nome"></td>
</tr>
<tr>
<td class="label">Dt. Nasc.:</td>
<td><input type="text" class="campodata" name="dtnasc"></td>
</tr>
<tr>
<td class="label">Sexo:</td>
<td><select option="sexo" class="camposexo">
<option value="0">Selecione Abaixo:</option>
<option value="Masculino">Masculino</option>
<option value="Feminino">Feminino</option>
</select>
</td>
</tr>
<tr>
<td class="label">RG:</td>
<td><input type="text" maxlength="12" class="camporg" name="rg"></td>
</tr>
<tr>
<td class="label">Órgão Ex.:</td>
<td><input type="text" class="campoorgaoexpeditor" name="orgaoexpeditor"></td>
</tr>
<tr>
<td class="label">Estado:</td>
<?php require_once("../biblioteca/connectmysql.php"); ?>
<? //PEGA OS ESTADOS
$sql = " SELECT a.idestado, a.nome, a.uf
FROM estado a
ORDER BY a.nome";
//EXECUTA A QUERY
$sql = mysql_query($sql);
$row = mysql_num_rows($sql);
?>
<td> <select name="listEstados" class="camposelectEstado" onChange="Dados(this.value);">
<option value="0">--Selecione o estado >></option>
<? for($i=0; $i<$row; $i++) { ?>
<option value="<? echo mysql_result($sql, $i, "idestado"); ?>">
<? echo mysql_result($sql, $i, "nome"); ?></option>
<? } ?>
</select>
</td>
</tr>
<tr>
<td class="label">Cidade:</td>
<td><select name="listCidades" class="camposelectCidade">
<option id="opcoes" value="0">--Primeiro selecione o estado--</option>
</select></td>
<?php require_once("../biblioteca/closemysql.php"); ?>
</tr>
<tr>
<td class="label">CPF:</td>
<td><input type="text" maxlength="14" class="campocpf" name="cpf" onkeypress="return txtBoxFormat(document.cadastrar_cliente_fisico, 'cpf', '999.999.999-99', event);" onchange="return valida_form(document.cadastrar_cliente_fisico)" ></td>
</tr>
<tr>
<td class="label">Email:</td>
<td><input type="text" class="campoemail" name="email"></td>
</tr>
<tr>
<td class="label">Est. Civil:</td>
<td><select name="ec" class="camposelectEC">
<option value="">Escolha Abaixo</option>
<option value="Casado">Casado
<option value="Solteiro">Solteiro
<option value="Divorciado">Divorciado
<option value="Amasiado">Amasiado
<option value="Uniao Estavel">União Estável</option>
</select> </td>
</tr>
<tr>
<td class="label">Username:</td>
<td><input type="text" class="campousername" name="usuario"> </td>
</tr>
<tr>
<td class="label">Senha:</td>
<td><input type="password" class="camposenha" name="senha"></td>
</tr>
<tr>
<td colspan="2"><br>
<input type="submit" name="cadastrar" value="" class="btnCad">
<input type="submit" name="alterar" value="" class="btnAlterar">
<input type="reset" name="limpar" value="" class="btnLimpar"> </td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
<?php include_once ("../biblioteca/base.php"); ?>
</div>
</body>
</html>
---------------------------------------------------------------------------------------
cidades.php
<?
//CONECTA AO MYSQL
require_once("../biblioteca/connectmysql.php");
//RECEBE PARÃMETRO
$pEstado = $_POST["estado];
//QUERY
$sql = "
SELECT a.idcidade, a.nome
FROM cidade a
WHERE a.idestado = ".$pEstado."
ORDER BY a.nome";
//EXECUTA A QUERY
$sql = mysql_query($sql);
$row = mysql_num_rows($sql);
//VERIFICA SE VOLTOU ALGO
if($row) {
//XML
$xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
$xml .= "<cidade>\n";
//PERCORRE ARRAY
for($i=0; $i<$row; $i++) {
$codigo = mysql_result($sql, $i, "idcidade");
$descricao = mysql_result($sql, $i, "nome");
$xml .= "<cidade>\n";
$xml .= "<codigo>".$codigo."</codigo>\n";
$xml .= "<descricao>".ucfirst(strtolower($descricao))."</descricao>\n";
$xml .= "</cidade>\n";
}//FECHA FOR
$xml.= "</cidade>\n";
//CABEÇALHO
Header("Content-type: application/xml; charset=iso-8859-1");
}//FECHA IF (row)
//PRINTA O RESULTADO
echo $xml;
?>
Editado por frndLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.