Vyřešeno Kde mám chybu?
30. říj 2015 15:18 #124249
Odpověď od Cony

Moderátor
Žádná magie se nekoná, je to úplně stejný výstup z php jako každý jiný, prostě echo.
Poděkovali: Ernst
30. říj 2015 17:40 - 30. říj 2015 17:41 #124253
Odpověď od Ernst
Joomla Expert
A V JS to přečtu get?
to už jsem někde studoval
to už jsem někde studoval
30. říj 2015 17:56 #124255
Odpověď od Cony

Moderátor
get? get co? get čeho? 
Používáte-li AJAX tak ve funkci .done - viz dokumentace

Používáte-li AJAX tak ve funkci .done - viz dokumentace
Code:
jqXHR.done(function( data, textStatus, jqXHR ) {});
Poděkovali: Ernst
30. říj 2015 18:29 - 30. říj 2015 18:31 #124257
Odpověď od Ernst
Joomla Expert
Děkuji krásně, já Vás nemít...
Kdyby jste se neurazil, pozvu Vás aspoň na dobrou večeři
ale ještě si máknu, než to spolu s učením dodělám.
Vím, že je asi jednodušší napsat si vlastní modul, než to takhle nacpat do modulu jako vlastní obsah
Kdyby jste se neurazil, pozvu Vás aspoň na dobrou večeři

ale ještě si máknu, než to spolu s učením dodělám.
Vím, že je asi jednodušší napsat si vlastní modul, než to takhle nacpat do modulu jako vlastní obsah
30. říj 2015 23:18 - 30. říj 2015 23:30 #124263
Odpověď od Ernst
Joomla Expert
studuji, studuji, ale zatím nechápu.
Nešel by nějaký popis nebo příklad?
PS dotáhnout tenhle modul je už asi poslední věc kterou potřebuji
nevím jak napsat ten ajax, který zavolá PHP a to mi jen echem vrátí jednu proměnnou a ta se v .done načte do proměnný.
tedy jak napsat ajax asi vím, ale nevím jak v .done načíst proměnnou a takový příklad se mi zatím vygooglit nedaří
Nešel by nějaký popis nebo příklad?
PS dotáhnout tenhle modul je už asi poslední věc kterou potřebuji
nevím jak napsat ten ajax, který zavolá PHP a to mi jen echem vrátí jednu proměnnou a ta se v .done načte do proměnný.
tedy jak napsat ajax asi vím, ale nevím jak v .done načíst proměnnou a takový příklad se mi zatím vygooglit nedaří
30. říj 2015 23:44 #124264
Odpověď od Cony

Moderátor
Code:
function formajax(form){
jQuery.ajax({
url: '/components/com_lovefactory/models/lmenu.php',
data: jQuery(form).serialize()
}).done(function(data){
console.log(data);
}).fail(function(){
console.log('Odeslání selhalo');
});
}
31. říj 2015 00:19 - 31. říj 2015 00:22 #124265
Odpověď od Ernst
Joomla Expert
tohle vcelku chápu (mimo toho jQuery(form).serialize(), ale to jde napsat jinak,
já myslel, jak v .done přečtu data odeslaná z PHP
nebo jsou ty data, která pošlu jako echo z php v proměnné data?
já myslel, jak v .done přečtu data odeslaná z PHP
nebo jsou ty data, která pošlu jako echo z php v proměnné data?
31. říj 2015 02:07 #124267
Odpověď od Cony

Moderátor
data obsahují vše co vypíše php, např. pomocí echoernst napsal: nebo jsou ty data, která pošlu jako echo z php v proměnné data?
Poděkovali: Ernst
01. lis 2015 00:21 #124270
Odpověď od Ernst
Joomla Expert
tak testuji, ale asi to není tak jednoduché"
JS.
php
a do console logu to žádné ahoj nevypíše. Kde blbě uvažuji?
JS.
Code:
<form name="form">
<input type="checkbox" name="form4"/> <span style="color: #999999;">Skryj vzdálenost</span><br>
<a href="javascript:formajax();"><img src="../images/tl_refresh_a.png" ></a>
</form>
<script>
function formajax(form){
jQuery.ajax({
url: '/components/com_lovefactory/models/testleva.php',
data: jQuery(form).serialize()
}).done(function(data){
console.log(data);
}).fail(function(){
console.log('Odeslání selhalo');
});
}
</script>
Code:
<?php
define( '_JEXEC', 1 );
if (stristr( $_SERVER['SERVER_SOFTWARE'], 'win32' )) {
define( 'JPATH_BASE', realpath(dirname(__FILE__).'\..\..\..' ));
} else define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../../..' ));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE.DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE.DS.'includes'.DS.'framework.php' );
$app = JFactory::getApplication('site');
$app->initialise();
jimport( 'joomla.user.user' );
jimport( 'joomla.user.helper' );
jimport ("joomla.log.log ");
echo("ahoj");
?>
a do console logu to žádné ahoj nevypíše. Kde blbě uvažuji?
01. lis 2015 01:27 #124272
Odpověď od Cony

Moderátor
Nejspíš se Vám dotaz ani neodešle, funkci máte definovanou function formajax(form), ale voláte jí bez uvedení parametru form.
Zkuste
Nejsem si s tím ale stoprocentně jistý, this.form funguje určitě u input elementů, u odkazu možná ne, nebo ne všude.
Zkuste
Code:
<a href="javascript:formajax(this.form);"><img src="../images/tl_refresh_a.png" ></a>
01. lis 2015 09:55 #124274
Odpověď od Ernst
Joomla Expert
Základní chyba byla, že jsem měl ve dvou modulech stejný název funkce "formajax". Zjevně se chová jako public a volala se s klidem funkce z toho druhého modulu.
ten parametr na to neměl vůbec vliv
ten parametr na to neměl vůbec vliv
01. lis 2015 10:11 #124275
Odpověď od Ernst
Joomla Expert
když bych chtěl na základě té hodnoty "data" v .done zavolat další formulář, jak to udělat?
01. lis 2015 15:26 #124277
Ve funci .done je data prostě jen další proměnná, můžete si s ní dělat co potřebujete. Ve funkci můžete volat další funkce dle libosti.
Odpověď od Cony

Moderátor
No pokud nemáte někde globální proměnou form, tak na to vliv má. A samozřejmě, pokud nadefinujete dvakrát stejný název (funkce, nebo proměnné), tluče se to mezi sebou.ernst napsal: ten parametr na to neměl vůbec vliv
Ve funci .done je data prostě jen další proměnná, můžete si s ní dělat co potřebujete. Ve funkci můžete volat další funkce dle libosti.
01. lis 2015 17:30 - 01. lis 2015 17:33 #124279
Odpověď od Ernst
Joomla Expert
takže klidně funkci ve které bude formulář? I když to stále bude v modulu jako vlastní obsah?
01. lis 2015 20:06 #124282
Odpověď od Cony

Moderátor
Ježiš o čem to zas mluvíte? V javascriptu, ve funkci done si můžete volat další javascriptové příkazy dle libosti. Ať koukám jak koukám, žádný formulář v té funkci nevidím. A co to má společnýho s modulem?