-
Fototrend
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Hehe, és tényleg, reprodukáltam a jsFiddle-példában a problémát, <div class="modal">-ba rakva a visszakapott tartalmat, és így tényleg üresen jelenik meg. Hát ez a library működéséből következik, a megoldás simán az, hogy
1.) a visszaadott tartalomból kihagyod a "modal" osztállyal ellátott divet (végül is felesleges)
2.) átírod a displayModal függvényt úgy, hogy csak egy $(content).modal(); sor legyen benne.
Utóbbinál viszont garantálnod kell, hogy egy jQuery-nek átadható tartalom van benne, tehát pl. mindenhol szerepel egy konténerelem, pl. épp a <div class="modal">...</div> vagy hasonló, de ez annyiból törékeny, hogy pl. már egy asdasd<div class="modal">...</div>qweqwe nem működne, mert a jQuery-nek átadva így szintaktikai hibát kapnál (a jQuery ezzel a tartalommal így már nem tud mit kezdeni, elég kipróbálni azt, hogy $('asdasd<div class="modal">...</div>qweqwe'), "Syntax error, unrecognized expression" lesz az eredmény).
Persze annyiból így is-úgy is törékeny lesz a dolog, hogy ha van egy olyan div a kapott tartalomban, ami tartalmazza a "modal" osztályt, akkor az abban lévő tartalmat eleve kidobja. Szerintem ilyen szempontból szarul működik a library, de hát ez van. -
Sk8erPeter
nagyúr
Érdekes, mert úgy tűnik, a tartalom lekérése sikeresen meg is történik, ahogy látszott a korábban a konzolra kiírt tartalomból, tehát valamiért csak épp a modális ablak betöltése az adott tartalommal nem sikeres. Az általam definiált displayModal függvényt is átmásoltad?
Igazából itt a legértelmesebb a böngészőn belüli debuggolás lenne, úgy, hogy egy breakpointot raksz a sikeres AJAX-kérést jelző eseménykezelőbe, meg mondjuk a displayModal függvénybe, megnézve, hogy a tartalom az elvárt-e, mi a változók aktuális értéke, stb... Egyszerű megközelítésként, ha még nem debuggoltál (egyébként elég egyszerű), egészítsd ki mondjuk ezt is egy konzolra kiíratással:function displayModal(content) {
console.log('content: ', content);
$('<div>', {
html: content
}).modal();
}Most jobb ötletem nincs, ha a debuggolás még nem megy, mint hogy vizsgáljuk meg ilyen módon, hogy a tartalmak az elvártak-e, eljut-e idáig, stb. Ha a tartalom ezenbelül megfelelő, akkor nem nagyon értem, miért nem működik nálad, amikor a jsFiddle-példában jó, de derítsük ki egyelőre ezt, hogy idáig eljutunk-e.
(#5201):
Hát köszi, de azért bőven szoktam tévedni. -
Sk8erPeter
nagyúr
Szívesen. Ja, a konzolra ezt az üzenetet azért írja, mert beleraktam egy console.log(...) sort.
Azt akár ki is törölheted, debuggolási célra jó a console.log - de ebből kiindulni nem lehet, mivel ez nem hiba.
Ha a Network fülre kattintasz a webfejlesztő panelon, ott látszik valami pirossal jelölt erőforrás, meg valami hibakód, amikor megpróbálja betölteni a tartalmat? Ha a megfelelő linkre kattintasz, akkor mi történik? -
Sk8erPeter
nagyúr
Működésre bírtam neked:
http://jsfiddle.net/bha6er48/20/
Kommenteztem a kódot, remélem, az alapján egyértelmű lesz, ha valami nem tiszta, kérdezz nyugodtan.
A jsFiddle API-t használtam az AJAX-tesztelésre, ezért szerepel bedrótozva az URL-nél a /echo/html/ a loadContentFrom függvény első sorában (a böngészők biztonsági beállításai miatt nem is lehetne másik domainre kérést indítani), azt az egy sort majd kitörölheted az éles kódban! Az $.ajax résznél majd a POST-metódust változtasd GET-re, ez is a jsFiddle miatt volt szükséges. -
Sk8erPeter
nagyúr
Ha lehet, rakj fel egy egyszerűsített példát inkább a jsFiddle-re, pont ilyen szemléltetésre és demózásra való. Az egyes külön lévő panelekbe fel tudod rakni a HTML-, CSS-, ill. JS-kódodat. A HTML-résznél ebben az esetben nem kell az alapvető struktúra, elég a <body>-ban lévő részt bemásolni. Így több esélyed van arra, hogy segítséget nyújt valaki közülünk, amikor picit ráér.
Szerintem a legtöbbünknek nem lesz kedve kibontani a zip-fájlodat, aztán helyileg tesztelni, majd felrakni helyetted a javított/javasolt jsFiddle-példát.
Új hozzászólás Aktív témák
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Konzol felvásárlás!! Nintendo Switch
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Thinkpad X230 legenda: i7 CPU, IPS kijelző, 12 GB, dupla SSD, magyar villbill, webcam, fingerprint
- LG 45GS95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest