Enganando o Internet Explorer
5 de agosto de 2009 Deixe um comentário
Estava programando em Javascript, e percebi mais um “bug” do nosso “querido” Internet Explorer. Estava fazendo uma validação de fomulário e no Firefox estava validando perfeitamente, até que eu decidi testar no Internet Explorer 7 e assim que mandei validar, Erro de Javascript. Fui ver o erro que era e percebi q ele não aceita a função “getElementsByClassName” e, pra variar, começei a xingar o Internet Explorer.
Dos males o menor, ainda bem que eu só usava essa função em 1 lugar do código, mesmo assim eu tive que pensar em um jeito pra mexer o mínimo possível no código e acabar com esse erro. Desenvolvi, com a dica da minha amiga Fabiana, uma função que praticamente faz a mesma coisa q o “getElements…” só de uma forma q o Internet Explorer entenda.. “coitado tem que fazer um desenho pra ele entender o que tem que fazer” e estou disponibilizando para todos essa função.
/**
* Esta função serve para retornar todos os elementos
* que voce necessita que contenham "class=nomeDaClass"
*/
function getElementsByClassNameIeFix(nomeDaClass){
var campos = new Array();
for(x=0;x<document.formulario.elements.length;x++){
if(document.formulario.elements[x].className == nomeDaClass){
campos.push(document.formulario.elements[x]);
}
}
return campos;
}
// Para chamar a função é assim:
var vetor = new Array();
vetor = getElementsByClassNameIeFix('exemplo');
