Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Sei que é meio doideira mas vambora..
Tenho um array com diversos valores que usarei como parâmetro para rodar um AJAX diversas vezes (cada vez com parâmetros diferentes) (talvez seja meio doido isso mas foi a forma que encontrei para criar e popular dezenas de DIV sem ter que fazer uma a uma).
O primeiro loop varre o array (onde tem os parâmetros para o AJAX rodar) e deveria passar o parâmetro arrayWidgets[j][2] para o segundo loop, que aonde deve ser criada a <LI> com os dados.
O problema é que não está reconhecendo o valor arrayWidgets[j][2] como ID da DIV onde deve ser criada a <LI>
A linha com problema é
var addli = document.getElementById(arrayWidgets[j][2]).appendChild(li);
O array que chega para function ajax(arrayWidgets) é esse
var arrayWidgets = new Array(
["icone1", "Titulo1", "ID1"],
["icone2", "Titulo2", "ID2"]
)
O código completo...
function ajax(arrayWidgets)
{
var idModulo = "3"
for( var j = 0; j <= arrayWidgets.length; j++ )
{
var obj = createXMLHTTP();
obj.open("post", "aqui será um campo do array contendo o nome da página", true);
obj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
obj.onreadystatechange=function(){
if (obj.readyState == 3){
}
else
if (obj.readyState === 4 && obj.status === 200){
var string_json = (obj.responseText);
var lista = eval(string_json);
//cria lista
for( var i = 0; i <= lista.length; i++ ) var li = document.createElement("li")
var addli = document.getElementById(arrayWidgets[j][2]).appendChild(li); AQUI QUE ESTA A ZICA
var textlist = document.createTextNode(lista[i].titulo);
li.setAttribute('id', lista[i].id);
addli.appendChild(textlist);
}
}
}
}
obj.send(encodeURI("idModulo="+idModulo));
}Carregando comentários...