Bom, na hora do cadastro que eu fiz, estou utilizando 2 combos. Se vc escolhe 1, ele carrega opcoes no de baixo.
Até ai, belezinha, funciona perfeito.
Meu problema é o seguinte, quando eu vou editar essas informações, uma hora ele carrega, outra hora nao carrega. Tanto no IE, tanto no Firefox.
Ja aconteceu com alguem isso ? Trabalho com CGI e mysql, mas acredito que nao tenha nada haver... é questao de carregar os dados.
Vejam:
if (!xmlhttp2 && typeof XMLHttpRequest!='undefined') {
xmlhttp2 = new XMLHttpRequest();
}
function update_cnpj(obj_razao,obj_cnpj){
if (document.requisitionform.custom51.value != "") {
obj_cnpj.length = 0;
obj_cnpj.options[0] = new Option('carregando...','');
fantasia='';
for (i=0 ; i < obj_razao.length ; i++){
if (obj_razao[i].selected == true) {
if (obj_razao[i].value != "") {
fantasia+=obj_razao[i].value+',';
}
}
}
num=fantasia.length;
fantasia=fantasia.substring(0,num-1);
// get the contents off-screen
xmlhttp2.open('GET','/cgi-bin/shared/ajax_razao_cnpj.cgi?cus='+fantasia,true);
xmlhttp2.onreadystatechange = function() {
if(xmlhttp2.readyState == 4){
options = xmlhttp2.responseText.split("\n");
// clean and insert values from CGI
obj_cnpj.length = 0;
obj_cnpj[0] = new Option('--','',false,false);
for(x in options){
if(options[x] != ''){
variaveltemp = "~%custom48%~";
var lista = variaveltemp.split(",");
contador = 0;
for (y in lista) {
if (options[x].substr(0,4) == lista[y]) {
obj_cnpj.options[obj_cnpj.options.length] = new Option(options[x].substr(5,options[x].length),options[x].substr(0,4),false,true);
} else {
contador++;
if (contador == lista.length) {
obj_cnpj.options[obj_cnpj.options.length] = new Option(options[x].substr(5,options[x].length),options[x].substr(0,4),false,false);
}
}
}
}
}
}
}
xmlhttp2.send(null);
}
}
Edição feita por: luckynho, 12/07/2007, 11:04.