Ir para conteúdo

Arquivado

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

Carcleo

[Resolvido] variavel js que esta dentro de função como global

Recommended Posts

Tem como tornar uma variavel js que esta dentro de função como global?

 

vousaber.js

function seila (variavel)
{ 
 var variavel;
} 

funcao vousaber()
{ 
 preciso usar a variavel aqui 
} 

 

Bom, consegui.

 

Html

 <tr>
   <td width="150">Estado:</td>
   <td            >
<select name="estado" onChange="DadosCidade(this.value,'cadastro_cliente');"  size="1" style="width:200px">
     <option value="#" selected>Selecione o Estado:</option>
     <option value="AC">AC</option>
     <option value="AL">AL</option>
     <option value="AM">AM</option>
     <option value="AP">AP</option>
     <option value="BA">BA</option>
     <option value="CE">CE</option>
     <option value="DF">DF</option>
     <option value="ES">ES</option>
     <option value="GO">GO</option>
     <option value="MA">MA</option>
     <option value="MG">MG</option>
     <option value="MS">MS</option>
     <option value="MT">MT</option>
     <option value="PA">PA</option>
     <option value="PB">PB</option>
     <option value="PE">PE</option>
     <option value="PI">PI</option>
     <option value="PR">PR</option>
     <option value="RJ">RJ</option>
     <option value="RN">RN</option>
     <option value="RO">RO</option>
     <option value="RR">RR</option>
     <option value="RS">RS</option>
     <option value="SC">SC</option>
     <option value="SE">SE</option>
     <option value="SP">SP</option>
     <option value="TO">TO</option>
   </select></td>
 </tr>
 <tr>
   <td width="150">Cidade:</td>
   <td            >
<select name="cidade"  id="cidade" size="1" style="width:200px">
       <option id="opcoescidade" value="#">Primeiro selecione o estado!</option>
   </select>
</td>
 </tr>

busca_cidade.js

  function DadosCidade(valor,form_get) {
     //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[form_get].cidade.options.length = 1;
	 idOpcao  = document.getElementById("opcoescidade");

     ajax.open("POST", "../global/funcoes_php/buscacidade.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 processXMLCidades que vai varrer os dados
           if(ajax.readyState == 4 ) {
		   if(ajax.responseXML) {
		      processXMLCidades(ajax.responseXML,form_get);
		   }
		   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 processXMLCidades(obj,form_get){
     //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", "opcoescidade");
			//atribui um valor
		    novo.value = codigo;
			//atribui um texto
		    novo.text  = descricao;
			//finalmente adiciona o novo elemento
			document[form_get].cidade.options.add(novo);
	 }
  }
  else {
    //caso o XML volte vazio, printa a mensagem abaixo
	idOpcao.innerHTML = "Primeiro selecione o estado>>";
  }	  
  }

busca_cidade.php

<?php 
include("../funcoes_php/conexao.php"); 
$estado = $_POST["estado"];   
$sql = "SELECT * FROM  cidades WHERE estado = '$estado' ORDER BY nome";            
$sql = mysql_query($sql);  
$row = mysql_num_rows($sql);    

//VERIFICA SE VOLTOU ALGO 
if($row) {                
  //XML
  $xml  = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
  $xml .= "<cidades>\n";               

  //PERCORRE ARRAY            
  for($i=0; $i<$row; $i++) {  
     $codigo    = mysql_result($sql, $i, "id"); 
  $descricao = mysql_result($sql, $i, "nome");
     $xml .= "<cidade>\n";     
     $xml .= "<codigo>".$codigo."</codigo>\n";                  
     $xml .= "<descricao>".$descricao."</descricao>\n";         
     $xml .= "</cidade>\n";    
  }//FECHA FOR                 

  $xml.= "</cidades>\n";

}//FECHA IF (row)                                               
  header("Content-type: application/xml; charset=utf-8");
echo $xml;            
?>

Espero que possa ajudar alguem

Compartilhar este post


Link para o post
Compartilhar em outros sites

var variavel;//definindo o escopo
function seila ( valor )
{ 
 variavel = valor;
} 

funcao vousaber()
{ 
 alert( variavel );
} 

apenas para não ficar sem resposta.

 

porém a melhor solução é que lhe dei no outro topico.

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.