Há um tempo atrás, no meu outro trabalho, tive que criar uma tag input do HTML a partir de um Javascript, segundo as especificações DOM para ECMAScript. No Firefox, sem problemas. Mas o IE não conseguia fazer o mesmo. (O teste foi feito no IE 6, 7)...
Eis o problema:
<script type="text/javascript">
var novoCampo = document.createElement('input');
novoCampo.setAttribute('name', 'endereco');
//setando outros atributos...
//adicionando no DOM
document.getElementsByTagName('form')[0].appendChild( novoCampo );
</script> O IE não seta o name! ¬¬A solução pra corrigir esse bug é verificar qual browser que a pessoa está usando e fazer uma verificação:
Toda solução pro IE fica meio porca, mas, assim funfa!<script type="text/javascript"> //verificação p/ ver se é IE ou Opera var isOpera, isIE = false; if(typeof(window.opera) != 'undefined'){isOpera = true;} if(!isOpera && navigator.userAgent.indexOf('Internet Explorer')){isIE = true); var novoCampo = null; if(!isIE){ novoCampo = document.createElement('input'); novoCampo.setAttribute('name', 'endereco'); } else { novoCampo = document.createElement('<input name="endereco"/>'); } //setando os outros atributos do input... //adicionando no DOM document.getElementsByTagName('form')[0].appendChild( novoCampo ); </script>
Beijos, até a próxima.
Nenhum comentário:
Postar um comentário