Problema com Ajax no IE 8

1 resposta
R

Bom dia, bom galera o meu problema é que não estou conseguindo atualizar uma combo com o ajax no ie, eu fiz a validação para pegar o request certo:

function XMLHTTPRequest() { if (window.XMLHttpRequest) { a=new XMLHttpRequest(); } //Objeto nativo (FF/Safari/Opera7.6+) else { try { a=new ActiveXObject("Msxml2.XMLHTTP"); //activeX (IE5.5+/MSXML2+) } catch(e) { try { a=new ActiveXObject("Microsoft.XMLHTTP"); //activeX (IE5+/MSXML1) } catch(e) { /* O navegador não tem suporte */ a=false; } } } return a; }
e estou utilizando este codigo para utilizar o htmlrequest:

document.form.tabela.length = 0; document.form.tabela.options[0] = new Option("Aguarde....",""); tXHR.open("GET", "xxx.jsp?valor="+valor+"&random="+Math.random()+"&funcao="+atualizaTabelas, true); tXHR.onreadystatechange=recebeResultado; tXHR.send(null);

mas mesmo assim o ie da esse erro.

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
Timestamp: Fri, 2 Sep 2011 12:56:11 UTC

Message: Object doesn’t support this property or method
Line: 720
Char: 6
Code: 0
URI: http://www.xxx.com/xxx/xxxNew.jsp?xxx=12133772000180&xx=902&xxCad=sim

Message: Unknown runtime error
Line: 755
Char: 6
Code: 0
URI: http://www.xxx.com/xxx/xxxNew.jsp?xxx=12133772000180&xx=902&xxCad=sim

Eu fiz o debug do script no ie, e ele diz que o document.getElementById(“item”+i) que eu estou usando um while, por que é uma série de elementos com o mesmo nome, porém com valores diferentes, ele acusa que é nullo ( ‘undefined’ is null or not an object ) .
Alguém tem ideia de qual seja esse problema, e uma solução ?!
Valeu, desde já!

1 Resposta

Vini_Fernandes

Cara, todas as vezes em que fizer algo como “document.getElementById(“item”+i)” voce tem que se certificar de que exista um elemento cujo id=“item”+i, isto eh:

<input id="1" type ="text"/>
<input id="2" type ="text"/>
<input id="3" type ="text"/>
...
<input id="200" type ="text"/>
var item = document.getElementById("item150");

note que o elemento cujo id=150 esta no documento!

t+

Criado 2 de setembro de 2011
Ultima resposta 2 de set. de 2011
Respostas 1
Participantes 2