• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

darky_miguel

[ja ta resulvido] Problema no IE

4 mensagens neste tópico

function addSource()
{
var ni = document.getElementById('myDiv');
var numi = document.getElementById('theValue2');
var num = (document.getElementById('theValue2').value -1)+ 2;
numi.value = num;
var newdiv = document.createElement('div');
var divIdName = 'div'+num;
newdiv.setAttribute('id',divIdName);
newdiv.innerHTML = '<input type="text" name="blabla" />';
ni.appendChild(newdiv);
}

Ora bem, este código cria um novo DIV, com o innerHTML indicado. No entanto, após fazermos submit da página, o innerHTML perde-se, sendo que tudo o que havia sido adicionado pela função AddSource() deixa de aparecer (o que não devia acontecer, visto os valores estarem a ser guardados na SESSION sempre que o form é submetido).

E o grande mistério, é isto funcionar impecavelmente no Firefox, Opera, Safari, Chrome, etc., mas no grande IE -> não (dizem eles que é um comportamento esperado, não é bug. Os outros browsers é que estão mal).  :wallbash:

Se alguém souber, que diga alguma coisa... Desde já obrigado! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu sei que o problema e do innerhtlm ninguém sabe outra maneira de fazer o innerhtml de maneira que funcione no ie ?  :wallbash:  :wallbash: este ie e um grande browser :mad: :rant_01: :thumbdown:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ao fim de muita pesquisa  :wallbash: consegui resolver o problema ... :cheesygrin:  mas a ainda não entendi porque não funcionava  :hmm:

mas para quem quiser eu ponho aqui a soluçao  :P :wallbash:

o ie e mesmo um bom browser  :thumbsup:

function addSource()
{
var ni = document.getElementById('myDiv');
var forbugonie = document.getElementById('forbugonie');
var numi = document.getElementById('theValue2');
var num = (document.getElementById('theValue2').value -1)+ 2;
numi.value = num;
var newdiv = document.createElement('div');
var divIdName = 'div'+num;
newdiv.setAttribute('id',divIdName);
ni.appendChild(newdiv);
var browser=navigator.appName;
if (browser=="Microsoft Internet Explorer")
{
forbugonie.insertAdjacentHTML("afterBegin",'<input type="text" name="blabla" />');
}
else
{
newdiv.innerHTML = '<input type="text" name="blabla" />';
}

}

ta ai a soluçao que arranjei

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora