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

darky_miguel

[ja ta resulvido] Problema no IE

Recommended Posts

darky_miguel

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

Share this post


Link to post
Share on other sites
darky_miguel

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 😡 😡 👎

Share this post


Link to post
Share on other sites
darky_miguel

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.