AJAX - problema

3 respostas
R

Ola a todos.

Na minha pagina JSP, estou preenchendo um DIV dinamicamente, usando AJAX.

No HTML, tenho apenas o DIV vazio e na funcao JS, faco ela retornar uma String com todo meu codigo HTML preenchido com meus dados dentro de uma TABLE. Algo assim:

var returnString = writePersons(BPObjs, "Oppt Name");
document.getElementById("meuDIV").innerHTML = returnString;

Isso funciona legal. Meu problema eh que tenho uma funcao p/ envio de emails q varre a tabela procurando os checkboxes selecionados p/ fazer isso:

for(var i=0; i < idCounter; i++) 	{		
		var cba = document.getElementsByName('checkbox' + i); 		
		if (cba.length>0 && cba[0].type == "checkbox" && cba[0].checked) {			
			someoneSelected = true;  		
			if (cba[0].value!="") 
				mailto += cba[0].value + ',%20'; 		
		} 	
	}

Mas, ela nao encontra nenhum checkbox. E olhando no codigo-fonte da pagina, toda minha TABLE com os dados nao aparecem lah. Entao, essa funcao nao vai funcionar mesmo.

Alguem sabe como resolvo isso? tenho q mudar meu HTML ou minha funcao JS?

Valew

3 Respostas

miguel.horlle

Cara, você poderia colocar mais detalhes.
Tipo:
Essa tabela está sendo criada dinamicamente? (Ex.: innerHTML ou manipulação do DOM)
Essa tabela está dentro da DIV que vc mencionou?

Tente detalhar mais o problema…

Sorte

R

miguel.horlle:
Cara, você poderia colocar mais detalhes.
Tipo:
Essa tabela está sendo criada dinamicamente? (Ex.: innerHTML ou manipulação do DOM)
Essa tabela está dentro da DIV que vc mencionou?

Tente detalhar mais o problema…

Sorte

isso…a tabela eh criada dinamicamente e coloco ela no DIV pelo innerHTML…

valew

D

Campeão, todo o código javascript que estiver no meio do HTML que foi inserido dinamicamente não será executado. A solução para isso seria colocar essa função javascript no fonte inicial do html ou retorna-lo separado do resto do HTML para que vc possa criar uma função js dinamicamente através do new Function("…").

Criado 21 de maio de 2008
Ultima resposta 21 de mai. de 2008
Respostas 3
Participantes 3