AJAX a JS na nacitanej stranke – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

AJAX a JS na nacitanej stranke – JavaScript, AJAX, jQuery – Fórum – Programujte.comAJAX a JS na nacitanej stranke – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

marioff0
Expert
2. 8. 2008   #1
-
0
-

mam 2 subory:

prvy.php obsahuje nieco taketo:

function nahrajSubor(subor) {

var httpRequest;
if (typeof window.ActiveXObject != "undefined") {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else {
httpRequest = new XMLHttpRequest();
}


httpRequest.open("GET", subor, true);
httpRequest.onreadystatechange= function(){processRequest(httpRequest)};
httpRequest.send(null);
}

function processRequest(httpRequest) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
textResponse = httpRequest.responseText;
// alebo
xmlResponse = httpRequest.responseXml;

document.getElementById("tencosameni").innerHTML = textResponse;
}
}
}

<div id="tencosameni">
<script>
nahrajSubor('druhy.php');
</script>
</div>


a druhy.php ktory obsahuje odkaz s onmouseover na funkciu JS ktora je zapisana v tomto subore. Kamen urazu je taky ze sa to tvari ako keby ta funkcia tam vobec nebola, cize ju vobec nevykona. Ale ked tu funkciu presuniem do prvy.php tak to normalne funguje.


Cize mi vobec nefunguje JS, teda funkcie, ktore su zapisane v tom subore, ktory stiahnem do stranky pomocou AJAXu.

Newiete mi poradit ako nato?? Podmienka je ze JS bude zapisany vzdy v tom subore ktory AJAXom stiahnem....


díííkki za vsetky rady

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
4. 8. 2008   #2
-
0
-

Myslim ze mixujes dohromady co je PHP a co je JS. Kazde je neco uplne jineho a JS v jednom souboru ma pristup akorat k funkcim primo z toho souboru nebo z prilinkovanych JS souboru.

Nahlásit jako SPAM
IP: 213.220.192.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
marioff0
Expert
4. 8. 2008   #3
-
0
-

jj to som si myslel.... cize ked prihram pomocov ajaxu nejaky JS vygenerovany pomocou PHP s toho druheho suboru tak to nejde... a neda sa to inak, aby som mohol pridavat do hlavneho suboru funkcie JS cez AJAX.?

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
4. 8. 2008   #4
-
0
-

Dej si je do externiho js souboru a ten linkuj

Nahlásit jako SPAM
IP: 213.220.192.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
marioff0
Expert
4. 8. 2008   #5
-
0
-

jj bude to jedina moznost...

ale islo mi o to , ze clovek si otvori nejaky div, ktory je skryty... (display: none) , nato sa nacita obsah do toho divu, a zaroven ten obsah potrebuje 1 js funkciu, a prave tu som v pripade ze div neni nacitany, nechcel mat na stranke...

ale uz som vyskusal milion moznosti... a jedine tak ako ty vravis to ide...

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Prog.0
Věrný člen
4. 8. 2008   #6
-
0
-

Cez innerhtml javascript asi nespustíš. Možno sa vytvorí element <script>...</script> ale nespustí sa. Môžeš však skúsiť z prijatého html kódu nájdeš všetky <script> ...</script> vyberieš ich obsah a spustíš metódou eval(js_kod_v_stringu);

Alebo druhé riešenie, že budeš prenášať iba javascript:

textResponse = httpRequest.responseText;

eval( textResponse );
a textResponse bude obsahovať niečo takéto:
document.getElementById("tencosameni").innerHTML = 

'<html kod ktory pridavas...>
<prvok s javascriptom musi mat ID="prvok">
</prvok>...';
document.getElementById('prvok').onclick = function()
{
// funkcia eventu prvku ktorý vyžaduje javascript
};
function xyz() { /* dalsie pridane funkcie */ };
function xyz() { /* dalsie pridane funkcie */ };
function xyz() { /* dalsie pridane funkcie */ };


edit: myslim, ze ten event nemusis vytvarat cez dom, asi bude stacit <prvok onclick="kus_javascriptu();" />...

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
4. 8. 2008   #7
-
0
-

Za behu lze skripty includivat tak ze vyvtoris dynamicky element SCRIPT a src mu das ten soubor, to se pak korektne spusti (tohle se driv nekdy pouzivalo na AJAX kdyz byl jeste xmlhttprequest v IE problem).

Nahlásit jako SPAM
IP: 213.220.192.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý