Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal tudo bom?
E o sequinte estou utilizando essa função logo abaixo ela funfa numa boa so q quando utilizo mais de um "form" na pagina ela não funfa mais. Exemplo na página eu tenho cadastro de cliente so q nessa mesma pagina eu tenho uma busca, os dois "forms" estao com "nome" e "id" diferente mas mesmo assim da erro. Alguem já passou por isso?
##### FUNCAO JS #####
//INICIO FUNCAO PARA CONTROLE DE ESTADO E CIDADES
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 EXCLUIDOS
document.forms[0].CodCidade.options.length = 1;
idOpcao = document.getElementById("opcoes");
ajax.open("POST", "cidades_lista.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].CodCidade.options.add(novo);
}
}
else {
//caso o XML volte vazio, printa a mensagem abaixo
idOpcao.innerHTML = "--Primeiro selecione o estado--";
}
}<select name="CodEstado" class="SELECT01" onchange="Dados(this.value);" >
<option value="0">--Selecione o estado >></option>
<? for($i=0; $i<$row; $i++) { ?>
<option value="<? echo mysql_result($sql, $i, "CodEstado"); ?>"> <? echo mysql_result($sql, $i, "DscEstado"); ?></option>
<? } ?>
</select>
<select name="CodCidade" class="SELECT01" id="CodCidade">
<option id="opcoes" value="0">--Primeiro selecione o estado--</option>
</select>
##### LISTA CIDADE #####
<?php
//ARQUIVO DE CONEXÃO E SELEÇÃO DO BANCO DE DADOS
require("setup.php");
//RECEBE PARÃMETRO
$pEstado = $_POST["estado"];
//QUERY
$sql = mysql_query("SELECT CID.CO_CIDADE, CID.DS_CIDADE
FROM 00_tb_cidade CID
WHERE CID.CO_ESTADO = ".$pEstado."
ORDER BY CID.DS_CIDADE")
or die ("<script>
alert('[Erro] - Consulta SQL.');
window.location = 'inicio.php';
</script>");
$row = mysql_num_rows($sql);
//VERIFICA SE VOLTOU ALGO
if($row) {
//XML
$xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
$xml .= "<cidades_lista>\n";
//PERCORRE ARRAY
for($i=0; $i<$row; $i++) {
$codigo = mysql_result($sql, $i, "CO_CIDADE");
$descricao = mysql_result($sql, $i, "DS_CIDADE");
$xml .= "<cidade>\n";
$xml .= "<codigo>".$codigo."</codigo>\n";
$xml .= "<descricao>".ucfirst(strtolower($descricao))."</descricao>\n";
$xml .= "</cidade>\n";
}//FECHA FOR
$xml.= "</cidades_lista>\n";
//CABEÇALHO
Header("Content-type: application/xml; charset=iso-8859-1");
}//FECHA IF (row)
//PRINTA O RESULTADO
echo $xml;
?>Carregando comentários...