Galera,
Como faco para ler o xml um objeto no firefox?. A getElementByTagName nao funciona. Essa incompatibilidade…
Alberto
Galera,
Como faco para ler o xml um objeto no firefox?. A getElementByTagName nao funciona. Essa incompatibilidade…
Alberto
Kra,vc estah usando :
1)getElementByTagName ou
2)getElementsByTagName ?
Como disse GraveDigger, o certo é getElementsByTagName. Funciona perfeitamente no firefox, como qualquer outro código javascript padronizado pelo W3C. Se seguir os padrões do W3C, você pode ter problemas de javascript e CSS com o IE, mas não com Firefox, Opera, Safari…
Me lembro de ter lido em algum lugar que o IE (versões atuais) também segue os padrões assim como esses demais. O problema é que o IE , metido a engraçadinho como sempre, acrescenta um bucado de coisa que muitos acham que são incompatibilidade (mais uma daquelas jogadinhas da MS). Se o desenvolvedor seguir os padrões W3C provavelmente ele não vai ter problemas. Alguem confirma isso?
Minha funcao eh essa:
function metodoDefault(responseXML){
var items = responseXML.getElementsByTagName("response")[0];
var novoPreco=0;
var subTot=0;
var id = 0;
if(items.childNodes.length>0){
var item = items.childNodes[0];
id = item.getElementsByTagName("id")[0].childNodes[0].nodeValue;
novoPreco = item.getElementsByTagName("preco")[0].childNodes[0].nodeValue;
subTot = item.getElementsByTagName("subtotal")[0].childNodes[0].nodeValue;
id = id.replace("\n","");
//alert(document.PedidoForm.);
//$('strPreco22').innerHTML= "R$ "+novoPreco;
$('strSubTotal').innerHTML = "R$ "+subTot;
}
}
Esse $() eh uma funcao que retorna o getElementById. No ie funciona normalmente, mas no firefox para nesta linha item.getElementsByTagName("id")[0].childNodes[0].nodeValue;
Alguma sugestao?
Alberto
Eu faço assim:
unidades = req.responseXML.getElementsByTagName("UNIDADES")[0];
for (i = 0; i < unidades.childNodes.length; i++) {
id = unidades.childNodes[i].getElementsByTagName("ID")[0].firstChild.data;
nome = unidades.childNodes[i].getElementsByTagName("NOME")[0].firstChild.data;
}
Já que você está usando o prototype, já tentou isso? http://www.sergiopereira.com/articles/prototype.js.html#Dollar_A_Function