Autor | Zpráva | ||
---|---|---|---|
Enyeus Profil |
#1 · Zasláno: 6. 6. 2011, 17:01:12
Dobrý den,
dokázal by mi někdo vysvětlit proč se nezmění styl divu? http://i.katuscak.cz/ <html> <head> <script language="javascript"> function ajax (url,id) { var objekt = false; var zdroj = url; if(window.XMLHttpRequest){objekt=new XMLHttpRequest();} else if (window.ActiveXObject) { try { objekt = new ActiveXObject("Msxml2.XMLHTTP"); } catch (eror) { objekt = new ActiveXObject("Microsoft.XMLHTTP");} } if(objekt){ objekt.open("GET",zdroj); objekt.onreadystatechange=function(){ if(objekt.readyState==4 && objekt.status==200){ document.getElementById(id).innerHTML += objekt.responseText; } } objekt.send(null); } } window.onload = function () { ajax('./text.txt','page'); ajax('./styl.txt','page'); } </script> </head> <body> <div id="page"></div> </body> </html> text.txt: <div id="1"> Lorem ipsum </div> styl.txt: <script language="javascript"> document.getElementById('1').style = 'position:absolute;top:100px;left:50px;'; </script> Díky |
||
Chamurappi Profil |
#2 · Zasláno: 6. 6. 2011, 17:19:48
Reaguji na Enyea:
Protože <script> y vložené přes innerHTML se nevykonávají.
|
||
Enyeus Profil |
#3 · Zasláno: 6. 6. 2011, 18:00:49 · Upravil/a: Enyeus
Problém je v tom že i když udělám
index: <html> <head> <script language="javascript"> function ajax (url,id) { var objekt = false; var zdroj = url; if(window.XMLHttpRequest){objekt=new XMLHttpRequest();} else if (window.ActiveXObject) { try { objekt = new ActiveXObject("Msxml2.XMLHTTP"); } catch (eror) { objekt = new ActiveXObject("Microsoft.XMLHTTP");} } if(objekt){ objekt.open("GET",zdroj); objekt.onreadystatechange=function(){ if(objekt.readyState==4 && objekt.status==200){ document.getElementById(id).innerHTML += objekt.responseText; } } objekt.send(null); } } window.onload = function () { ajax('./text.txt','page'); document.getElementById('1').style = 'position:absolute;top:100px;left:50px;'; } </script> </head> <body> <div id="page"></div> </body> </html> Tak to také nejde. Chrome napíše že "Uncaught TypeError: Cannot set property 'style' of null". Já totiž potřebuju vyřešit to, že když nejdřív nahraju objekty z databáze přes AJAX, tak jim potom potřebuju dát také "style" přes AJAX. |
||
Chamurappi Profil |
#4 · Zasláno: 6. 6. 2011, 18:13:55
Reaguji na Enyea:
To áčko v AJAXu znamená asynchronní. V době, kdy se snažíš přiřazovat styl elementu s id="1" , ještě element s id="1" neexistuje, protože HTML kód s ním se ještě nestáhl — až se stáhne, vyvolá se onreadystatechange .
|
||
Časová prodleva: 13 let
|
0