Ir para conteúdo

POWERED BY:

Arquivado

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

reme

funciona no servidor local, mais da pau na hospedagem

Recommended Posts

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>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o teu problema me parece estar no server-side.

 

exemplo dessa mesma coisa, mas com jQuery:

http://forum.imasters.com.br/topic/365795-combos-dependentes-ajax-jquery/

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.