Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Popular type=text

$
0
0
Boas,

Tenho o código abaixo que popula um objeto select option do HTML através de uma consulta ao MySQL e pega o retorno de um XLM.
Código (Javascript):
   function DadosCidade(valor,form_get, campo) {
          //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.getElementById(campo).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, campo);
  }
  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, campo){
          //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.getElementById(campo).options.add(novo);
}
}
else {
   //caso o XML volte vazio, printa a mensagem abaixo
idOpcao.innerHTML = "Primeiro selecione o estado>>";
}
   }
Mas agora arranjar uma forma de fazer o mesmo para popular, não um select option, mas um type=text.
Alguma orientação?

Viewing all articles
Browse latest Browse all 14700