Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala rapaziada, to iniciando em java agora, mais ainda não consegui criar nada...
copiei esse codigo na net, e ta funfando aki no meu servidor LOCAL, porém quando faço o up-load para o servidor de hospedagem não funfa mais...
Deveriar funcionar da seguinte forma: carrega os estados, você escolhe um, depois carrega as cidade relacionadas a este estado...
ERRO: carrega os estados, porém quando se escolhe um não carrega as cidades.
OBS: este codigo ja funcionou anteriormente neste mesmo servidor.
segue o treho do codigo onde pode estar o erro (já que nas outras partes do codigo eu não mexi)
<script>
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[i];
//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>
<?
//CONECTA AO MYSQL
require_once("cidade-estado/conexao.php");
//PEGA OS ESTADOS
$sql = "
SELECT a.dsc_estado, a.id_estado, a.sigl_estado
FROM estados a
ORDER BY a.dsc_estado";
//EXECUTA A QUERY
$sql = mysql_query($sql);
$row = mysql_num_rows($sql); ?>
<form action="act/act_novoorcamento.php" method="POST">
<div align="right">
<form name="frmAjax">
Estado:<SELECT NAME="listEstados" onChange="Dados(this.value);">
<option id="opcoes" value="0">selecione o estado</option>
<? for($i=0; $i<$row; $i++) { ?>
<option value="<? echo mysql_result($sql, $i, "id_estado"); ?>">
<? echo mysql_result($sql, $i, "dsc_estado"); ?></option>
<? }
?>
</SELECT>
Cidade:<SELECT NAME="listCidades">
<option id="opcoes" value="0">Primeiro selecione o estado</option>
</SELECT><p>
</form>
</div>
<div align="left">
Endereço da Entrega:<input type="text" name="endereco" size="60">
</div>
<div align="right">Empresa Parceira:<SELECT NAME="empresa" size="1">
<option value="pessoal">nenhum</option>
<?php
include "conect/conecta.php";
$consulta=mysql_query("SELECT * FROM cadempresa order by empresa ASC");
//Fazendo o looping para exibição de todos registros que contiverem em nomedatabela
while ($dados = mysql_fetch_array($consulta))
{echo("<option value='".$dados['empresa']."'>".$dados['empresa']."</option>");}
?>
</SELECT><p>
</div>
</script>Carregando comentários...