Přihlásit se

Joomla 5.0.1 a 4.4.1 bezpečnostní vydání (29 lis 2023)

Joomla 5.0.1 a 4.4.1 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 4.x. a 5.x.

Vyřešeno Kde mám chybu?

04. lis 2015 11:55 #124331
Odpověď od Ernst
Joomla Expert
když dám do modulu jen ten příklad
Code:
<script type="text/javascript"> $("#sem_nacteme").load("/components/com_lovefactory/models/testvlevo.html", function() { alert('Načteno'); }); $("#sem_nacteme").load("/components/com_lovefactory/models/testvlevo.js", function(response, status, xhr) { // status - v případě, že nastane chyba, bude mít hodnotu "error" // xhr - informace o chybě if(status == "error") // když nastala chyba { alert("Nastala chyba číslo: "+xhr.status+" - "+xhr.statusText); // xhr.status - číslo chyby // xhr.statusText - textový popis chyby, třeba error // Not Found - nenalezeno, Acces denied - přístup odepřen apod. } else { alert('Načteno');} }); </script>
tak se mi taky nic nezobrazí

04. lis 2015 12:07 #124332
Odpověď od Ernst
Joomla Expert
i tenhle příklad
Code:
<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ $("#div1").load("/components/com_lovefactory/models/demo_test.txt", function(responseTxt, statusTxt, xhr){ if(statusTxt == "success") alert("External content loaded successfully!"); if(statusTxt == "error") alert("Error: " + xhr.status + ": " + xhr.statusText); }); }); }); </script> </head> <body> <div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div> <button>Get External Content</button> </body> </html>
mi v consoli napíše Uncaught TypeError: Cannot read property 'click' of null a nereaguje na ten click

04. lis 2015 13:00 #124334
Odpověď od Ernst
Joomla Expert
když se to pokouším řešit přímo v testvlevo.php a v něm si načtu
Code:
$document = &JFactory::getDocument(); $document->addScript('/components/com_lovefactory/models/testvlevo.js');
tak se taky formulář neobjeví, což je vlastně logické

04. lis 2015 13:39 #124336
Odpověď od Cony
Moderátor
A nemícháte mootools a jQuery? Pokud nahráváte i mootools používejte místo $ jQuery.

04. lis 2015 14:59 - 04. lis 2015 15:06 #124339
Odpověď od Ernst
Joomla Expert
já jsem to asi totálně zamíchal tím, že jsem uvedl ty příklady co jsem zkoušel.
Tak raději od počátku
Code:
<script type="text/javascript"> testajax() function testajax(){ jQuery.ajax({ url: '/components/com_lovefactory/models/testvlevo.php' }).done(function(data){ console.log(data); zobrazform(data); }).fail(function(){ console.log('Odeslání selhalo'); }); }; function zobrazform(data) { $("#sem_nacteme").load("/components/com_lovefactory/models/testvlevo.js"); } function formuloz(formular){ if (document.formular.form4.checked==true){var p3 = "1";} else {var p3 = "0";}; jQuery.ajax({ url: '/components/com_lovefactory/models/lmenutest.php', data: {d3: p3} }).done(function(){ console.log('Odeslano'); javascript: document.location.reload (); }).fail(function(){ console.log('Odeslání selhalo'); }); }; </script>
Prní část proběhne ok a do data mi to z testvlevo.php vrátí hodnoty pro předvyplnění formuláře. a dál v tom mám asi zmatek.
Zavolá se funkce zobrazeno a to
Code:
$("#sem_nacteme").load("/components/com_lovefactory/models/testvlevo.js");
mi do logu vypíše
Code:
Uncaught TypeError: Cannot read property 'load' of null
jen pro úplnost v tom testvlevo.js
je
Code:
<form name="form"> <hr size="1" color="#999999" width="90%" /> <input type="checkbox" name="form2" /> <span style="color: #999999;">Skryj moje umístění na mapě</span><br> <input type="checkbox" name="form3"/> <span style="color: #999999;"><a href="/index.php/cs/my-profile"> Změň svoji pozici na mapě</a></span><br><br> <hr size="1" color="#999999" width="90%" /> <span style="font-size: 9pt;">&nbsp;<strong style="color: #999999; background-color:transparent;"><span style="color: #e4e4e4; font-family: Arial;">Jen pro</span></strong><span style="color: #8cc741; background-color: transparent;"><strong><span style="font-family: Arial;"> TOP</span></strong></span><strong style="color: #999999; background-color: transparent;"><span style="color: #e4e4e4; font-family: Arial;">&nbsp;nebo&nbsp;</span></strong><span style="color: #8cc741; background-color: transparent;"><strong><span style="font-family: Arial;">VIP</span></strong></span><strong style="color: #999999; background-color: transparent;"><span style="color: #e4e4e4; font-family: Arial;">&nbsp;uživatele:</span></strong></span><span style="font-size: 9pt; font-family: 'arial black', 'avant garde';" data-mce-bogus="1">&nbsp;<span id="_mce_caret" data-mce-bogus="1"><span style="background-color: transparent;" data-mce-bogus="1"></span></span></span> <input type="checkbox" name="form4"/> <span style="color: #999999;">Skryj vzdálenost</span><br> <input type="checkbox" name="form5"/> <span style="color: #999999;">Skryj datum přihlášení</span><br> <input type="checkbox" name="form6"/> <span style="color: #999999;">Skryj koho jsem návštívil</span><br> <input type="checkbox" name="form7"/> <span style="color: #999999;">Skryj reklamy</span><br> <a href="javascript:formajax();"><img src="../images/tl_refresh_a.png" ></a> </form> <script> function formajax(form){ if (document.form.form2.checked==true){ var p1 = "1";} else {var p1 = "0";}; if (document.form.form3.checked==true){ var p2 = "1";} else {var p2 = "0";}; if (document.form.form4.checked==true){ var p3 = "1";} else {var p3 = "0";}; if (document.form.form5.checked==true){ var p4 = "1";} else {var p4 = "0";}; if (document.form.form6.checked==true){ var p5 = "1";} else {var p5 = "0";}; if (document.form.form7.checked==true){ var p6 = "1";} else {var p6 = "0";}; jQuery.ajax({ url: '/components/com_lovefactory/models/lmenu.php', data: {d1: p1, d2: p2,d3: p3, d4: p4, d5: p5, d6: p6} }).done(function(){ console.log('Odeslano'); javascript: document.location.reload (); }).fail(function(){ console.log('Odeslání selhalo'); }); } </script>
To znamená mám funkční php, které mi z databáze načte hodnoty pro předvyplnění formuláře a úspěšně je pošle do "data".
pak mám php, které data z formuláře zapíše zpět do databáze.
Jen ten formulář se mi nedaří zobrazit.

Když jsem použil ten document.write, tak vše správně probíhalo, jen se ten formulář vypsal bůhví kde a stránky se staly nefunkční.
Už propadám beznaději a nevím, zda jsem to schopen dopsat.
Opravdu by jste mi za nějaký peníz ten kousek kódu nenapsal?

PS funkce formuloz je momentálně v kódu navíc nic ji nevolá
PS2 netuším co je mootools

pokud tedy napíši, jak doporučujete
Code:
function zobrazform(data) { jQuery("#sem_nacteme").load("/components/com_lovefactory/models/testvlevo.js"); }
už to chybu v consoli nehlásí, ale formulář se nezobrazí

05. lis 2015 09:10 #124355
Odpověď od Cony
Moderátor
Ježiš to je zase kódu. A element (zřejmě div) s id sem_nacteme na stránkách máte?
Poděkovali: Ernst

Powered by Fórum