Nefunkcny JavaScript v subore nacitanom Ajaxom – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Nefunkcny JavaScript v subore nacitanom Ajaxom – JavaScript, AJAX, jQuery – Fórum – Programujte.comNefunkcny JavaScript v subore nacitanom Ajaxom – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
marioff0
Expert
24. 6. 2009   #1
-
0
-

máám pruser... ajaxom si do stranky nahram nejaky kod, dajme tomu toto:


<script>

function vykonaj_funkciu() {
samotna funkcia...
}
</script>

<div onmouseover="vykonaj_funkciu();">
obsah divu
</div>


bohuzial ked prejdem mysou cez div funkcia sa nevykona... ked funkciu vlozim do hlavneho suboru v ktorom nacitavam ajaxom tento subor... funkcia uz funguje..

a nejak sa neviem dobre opytat googla o radu.. nic som o tom nenasiel ze by neslapali jscripty v nacitanom subore..

diki za rady... moc mi pomozete..

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
Reklama
Reklama
Foowie0
Newbie
24. 6. 2009   #2
-
0
-

Toto sice není ajaxem, ale funkci a div do dokumentu taky vkládá JS. (Takže proměnné není problém ajaxem načíst)
... a funguje to zcela normálně .)

<script type="text/javascript" src="jquery.js"></script>

<script>
$(document).ready( function(){
var script = '<script> function ahoj() { alert("Ahoj"); } <\/script>';
var div = '<div onclick="ahoj();">CLICK</div>';
$("body").append(script);
$("body").append(div);
});
</script>

<html>
<body>
</body>
</html>


btw: sry za jquery, ale ta zhýčkanost ... :p

Edit: tak tady to máš i s ajaxem .)
<?php


if(isset($_GET["get"]))
{
echo('<script> function ahoj() { alert("Ahoj"); } </script><div onclick="ahoj();">CLICK</div>');
return;
}

?>

<script type="text/javascript" src="jquery.js"></script>
<script>

function successRequest(data)
{
$("body").append(data);
}

$(document).ready( function(){
$.ajax({
url: "<?php echo($_SERVER["PHP_SELF"]); ?>?get",
success: function(data){successRequest(data);}
});
});
</script>

<html>
<body>
</body>
</html>

Nahlásit jako SPAM
IP: 85.135.87.–
7raul0
Návštěvník
24. 6. 2009   #3
-
0
-

presne, ale presne tento isty problem mam aj ja.... doteraz som to robil tak, ze js kod, ktory bol v tom dokumente, ktory som nacital som dal do stranky do ktorej to nacitam a celkom to slo...
zajtra skusim tento sposob...ale neslo by podobne urobit nieco aj s <style type="text/css"> ... </style>
diki

Nahlásit jako SPAM
IP: 84.47.40.–
marioff0
Expert
24. 6. 2009   #4
-
0
-

To 7raul : ved aj ja... ale teraz to potrebujem tak.. ze v odpovedi sa mi vrati nejaka funkcia vygenerovana pomocou php...

To Foowie : jquery ani ine kniznice nepouzivam... :(


teoreticky by mi stacilo keby stiahlo len jedno pole... funkcia by mohla byt aj v subore ktory ju nacita

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
Foowie0
Newbie
24. 6. 2009   #5
-
0
-

Tak tady to máš ještě narychlo bez jquery a bez ajaxu .)

<html>

<body>
</body>
</html>

<script>
var script = 'function ahoj() { alert("Ahoj"); }';
var div = '<div onclick="ahoj();">CLICK</div>';

var scriptNode = document.createElement('script');
scriptNode.type = 'text/javascript';
scriptNode.text = script;

document.body.appendChild(scriptNode);
document.body.innerHTML = div;
</script>

Nahlásit jako SPAM
IP: 85.135.87.–
marioff0
Expert
25. 6. 2009   #6
-
0
-

To Foowie : no nejak to nejde... ale skor som ta zle pochopil (js neni zrovna moja laska)

taketo nieco sa mi vrati v responseText:

<script type="javascript">

function funkcia(parameter) {
.....
}
</script>

<div onmouseover="funkcia('parameter');" onmouseout="funkcia('iny_parameter');">
....
</div>


script je bezchybny, pretoze ked vlozim taky isty script do zakladnej stranky ktora nacita hore uvedeny kod.. funguje to.. ale potrebujem vygenerovat script v tom ajaxom stiahnutom subore.. prip. by stacilo ze by som mal v zakladnej stranke funkciu a nacitalo by sa napr. len pole

ak niekto vie poradit tak poradte..pls.. ja som natom zabil cely den... :(

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
Foowie0
Newbie
25. 6. 2009   #7
-
0
-

Edit: tak jsem zjistil že asi stačí dát document.write(JS_A_HTML); :)

Jo...promiň, měl jsem tam IE-nekompatibilní věc, ale už to funguje.
Tak ten kód musíš rozdělit na obsah tagu script a "html kód".
Obsah tagu script (bez <script> a </script>) pak vložíš

var scriptNode = document.createElement('script'); 

scriptNode.type = 'text/javascript';
scriptNode.text = JAVASCRIPT_KOD;
document.body.appendChild(scriptNode);

A html kód do dokumentu vložíš například pomocí document.body.innerHTML = HTML_KOD; kde document.body můžeš zaměnit třeba s nějakým existujícím div tagem.
JS taky není zrovna můj nejoblíbenějších jazyk, ale co naděláš :)

Nahlásit jako SPAM
IP: 85.135.87.–
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, 23 hostů

 

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