Autor | Zpráva | ||
---|---|---|---|
Petr Bartošek Profil * |
#1 · Zasláno: 16. 11. 2013, 15:23:35 · Upravil/a: Moderátor (editace znemožněna) 16. 11. 2013, 17:06:32
Dobrý den,
nechám načíst stránku, kde v hlavičce je: <script> function Vloz() { var test= "<script> alert('Hello world'); </script>"; window.document.getElementById('obsah').innerHTML=test"; [ </script> v těle pak toto: <div id="obsah" onclick="Vloz()"> Pokusný div </div> Proč se prosím po kliknutí na #obsah nezaktivuje funkce alert() ?
Dá se takto vůbec zacházet s js? Velmi děkuji. Zdraví Petr Bartošek |
||
Str4wberry Profil |
#2 · Zasláno: 16. 11. 2013, 17:12:47
Důvodů je několik:
1) Kód obsahuje syntaktické chyby. Přebytečnou uvozovku za innerHTML=test" , špatný druh závorky na konci funkce Vloz .
2) Značka </script> za alert em ukončí celou část skriptu.
Generovat JS kód obdobným stylem by asi šlo, ale proč rovnou nepoužít samotný alert ve funkci Vloz ? Čeho se snažíte dosáhnout?
|
||
Chamurappi Profil |
#3 · Zasláno: 16. 11. 2013, 18:07:15
Reaguji na Petra Bartoška:
„Dá se takto vůbec zacházet s js?“ Ne. Element <script> vložený přes innerHTML nikdy nefunguje.
|
||
Petr Bartošek Profil * |
#4 · Zasláno: 17. 11. 2013, 00:01:37
Chamurappi, Str4wberry:
Dobrý den, děkuji za odpověď, uvozovky a závorka jsou jasné, to je překlep. Chci dosáhnout toho, abych po spuštění určitých, různých událostí naplnil element #obsah různým dynamickým kódem i s js(v závislosti na události). Jak řešit takový problém? Neovládám zatím AJAX, ale bude to nejspíš vhodné. Je to tak? Chci se vyhnout znovunačtení stránky. Případně prosím poraďte. Moc děkuji. Zdraví Petr |
||
_es Profil |
#5 · Zasláno: 17. 11. 2013, 17:24:16
Petr Bartošek:
„bych po spuštění určitých, různých událostí naplnil element #obsah různým dynamickým kódem i s js“ Prečo by mal byť ten JS kód práve v elemente script v nejakom inom elemente? Prečo ten JS kód po tom „naplnení“ jednoducho nespustíš? |
||
Petr Bartošek Profil * |
#6 · Zasláno: 17. 11. 2013, 18:31:52
_es:
Rád bych aby nově vytvořený kód (část stránky) byl opět dynamický. Potřebuji, aby nový kód opět reagoval na události atd. Jak se taková situace řeší? Přes AJAX? |
||
_es Profil |
#7 · Zasláno: 17. 11. 2013, 19:41:31
Petr Bartošek:
„Potřebuji, aby nový kód opět reagoval na události atd. Jak se taková situace řeší?“ No tak sa im tie udalosti predsa nastavia. Alebo nastavíš udalosti nejakému rodičovskému prvku a budeš udalosti zachytávať na ňom. |
||
Petr Bartošek Profil * |
#8 · Zasláno: 18. 11. 2013, 19:01:50
_es:
To ano, ale já bych potřeboval do nově vloženého kódu vypsat proměnnou. Ta se takto nevypíše. Jak to udělat? |
||
_es Profil |
#9 · Zasláno: 18. 11. 2013, 19:18:59
Petr Bartošek:
„do nově vloženého kódu vypsat proměnnou.“ „Vypísať“ kam? Akú premennú? Prečo to „nevypíšeš“ po tom „vyplnení“? |
||
Časová prodleva: 10 let
|
0