Autor Zpráva
Perry
Profil
Pomocí Ajaxu si načtu stránku mezi určené divy. Problém je, když na této načtené stránce chci spustit JS funkci. Nic se nestane

(Testoval jsem to na tomhle skriptu)
<SCRIPT LANGUAGE="JavaScript">
<!--
alert('Rozlišení monitoru je :\n\n' + screen.width + ' x ' + screen.height + ' pixelů');
// -->
</SCRIPT>

Tohle vůbec nefunguje, ať to vložím, kam to vložím

Stránka, kterou Ajaxem načítám:
hlavička: header("Content-Type: text/html; charset=windows-1250");
pak je výběr z DB a vypsání dat to tabulky

Chci, aby se mi tam po kliknutí na tlačítko vypsal obsah formuláře přes alert. Funguje to, pokud udělám tohle ...onClick="alert("BAF)"
ale pokud napíšu tohle: ... onClick="javasript:vypis();".. <script>function vypis(){ alert("KUK");} </script> , tak se nestane nic

Co s tím ?
peta
Profil
Perry
utrzky neceho, co mohlo byvat pred tim funkci. Rika se tomu zricenina hradu. Zaplatit bagr a odvest na skladku. Nic vic se s tvym dotazem neda.

Jestlize bych si teda tipl, co jsi nam neukazal, ze mas...
text = ajax.textresponse
zpracuj_odpoved(text)
{
neco.innerHTML = text
}
A zde dochazis k prekvapivemu zaveru, ze innerHTML nechce spoustet a vepisovat script tagy a javascript. Coz ale neni problem zadne ajaxove funkce. A neni to problem ani innerHTML. Je to naprosto spravne chovani. Ono by totiz mohlo dojit k zacykleni JS, coz ma za nasledek velkou zatez na PC a nasledne zavreni prohlizece.
Co s tim?
Pouzit regularni vyraz, ktery pro vsechny nalezene tagy script prida do dokument createTag('SCRIPT') a naplni jej pres innerHTML obsahem. Viz nektere ajaxove script, jquery treba?
Lepsi reseni tam aktivni JS vubec nepouzivat.
Ku prikladu ja vepisuji pres innerHTML jen a pouze HTML kod. Malokdy je tam onclick. Ostatni JS je pekne v externim JS uz davno pred pouzitim toho innerHTML pripraven.
Perry
Profil
peta

Jo... skripty v externím souboru jsem zkoušel taky, jenomže to taky nefunguje. Prostě se odmítá ta funkce úplně zavolat. onClick="mojeFunkce();" ani OnClick="JavaScript:mojeFunkce();" nic neudělá. Ta funkce mojeFunkce() může být definovaná v externím souboru i v tom mém (mimo innerHTML) a stejně to nefunguje.
peta
Profil
Perry
zkus polhedat googlem v diskusi, resilo se to uz nekolikrat. Tusim to nakonec resili pres jquery knihovnu.
Osobne jsem to teda nezkousel, ale
onclick se pise malym a
onClick="alert("BAF)" mas napsane diky uvozovkam jako
onClick="alert("
nacoz ti musi JS konzola bafnout jasny error. Ale mam pocit, ze zrovan v IE to moc bafat u ajaxu nechce.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0