Joomla 5.1.0 a Joomla 4.4.4 (17 dub 2024)
Dnes byla uvolněna nová verze Joomla 5.1.0, společně s Joomla 4.4.4. Tato verze přináší spoustu nových funkcí, vylepšení v oblasti bezpečnosti a kódu a díky těmto vylepšením i vyšší rychlost.
Vyřešeno Kde mám chybu?
26. říj 2015 00:03 - 26. říj 2015 00:06 #124160
Odpověď od Ernst
Joomla Expert
ale i když to udělám takhle, tak mi ten ajax nezavolá to php.
chyba musí být ještě někde jinde?
zjednodušený výpis
chyba musí být ještě někde jinde?
zjednodušený výpis
Code:
<div id="results"></div>
<form name="form">
<input type="checkbox" name="form2" /> <span style="color: #999999;">Skryj moje umístění na mapě</span><br><br>
<button onclick="form()"><img src="../images/tl_refresh_a.png" /button>
</form>
<script>
function form({
var pr2 = document.form.form2.value
jQuery(function(){
Query.ajax({
url: '/components/com_lovefactory/models/lmenu.php',
data: {d2: pr2}
}).done(function(data){
jQuery('#results').html(data);
}).fail(function(){
jQuery('#results').html('AJAX selhal');
});
}, function(error){
jQuery('#results').html(error.message);
});
</script>
26. říj 2015 00:47 #124161
Odpověď od Cony
Moderátor
V místě volání žádná proměnná form2 neexistuje. Nepleťte si název input prvku s JavaScriptovou proměnou, nemá to spolu co dělat. Takže:
- ano, form 2 by muselo být nejprve deklarováno jako var form2.
- ano hodnotu do proměnné form2 musíte nejprve naplnit (používáte checkboxy, uvědomte si rozdíl mezi hodnotu a stavem checkboxu zaškrtnuto / nezaškrtnuto)
- chyba musí být TAKÉ někde jinde, co třeba středníky na konci řádek?
Máte ale jednoúčelovou funkci (alespoň to tak vypadá), tak proč to neřešit až přímo ve funkci (do té si poslat jen formulář - this.form). A nejlépe pomocí jQuery, když už ho používáte
- ano, form 2 by muselo být nejprve deklarováno jako var form2.
- ano hodnotu do proměnné form2 musíte nejprve naplnit (používáte checkboxy, uvědomte si rozdíl mezi hodnotu a stavem checkboxu zaškrtnuto / nezaškrtnuto)
- chyba musí být TAKÉ někde jinde, co třeba středníky na konci řádek?
Máte ale jednoúčelovou funkci (alespoň to tak vypadá), tak proč to neřešit až přímo ve funkci (do té si poslat jen formulář - this.form). A nejlépe pomocí jQuery, když už ho používáte
Code:
jQuery(form).find('[name=form2]') ...
26. říj 2015 01:05 #124162
Odpověď od Ernst
Joomla Expert
trošku se ztrácím, budu to muset nechat na ráno.
příkaz
var pr2 = document.form.form2.value nenaplní proměnnou pr2 hodnotou toho checkboxu?
to přeci také řeším až v té funkci
co vlastně přesně dělá jQuery(form).find('[name=form2]') ... , Vrátí výsledek toho pole?
středníky na konci stránek přebývají nebo chybí
konzole mi vypíše tohle:
Uncaught TypeError: form is not a functiononclick @ (index):177
Navigated to http://localhost/index.php/cs/?
Jaký je rozdíl mezi hodnotou a stavem checboxu? nebylo by nakonec jednodušší použít select ano/ne?
někde jsem možná četl že formulář odesílá hodnotu, jen když je checbox zaškrtnut?
příkaz
var pr2 = document.form.form2.value nenaplní proměnnou pr2 hodnotou toho checkboxu?
to přeci také řeším až v té funkci
co vlastně přesně dělá jQuery(form).find('[name=form2]') ... , Vrátí výsledek toho pole?
středníky na konci stránek přebývají nebo chybí
konzole mi vypíše tohle:
Uncaught TypeError: form is not a functiononclick @ (index):177
Navigated to http://localhost/index.php/cs/?
Jaký je rozdíl mezi hodnotou a stavem checboxu? nebylo by nakonec jednodušší použít select ano/ne?
někde jsem možná četl že formulář odesílá hodnotu, jen když je checbox zaškrtnut?
26. říj 2015 01:53 - 26. říj 2015 01:54 #124163
Odpověď od Cony
Moderátor
Hodnotou ano, ale to neznamená zaškrtnuto / nezaškrtnuto.ernst napsal: var pr2 = document.form.form2.value nenaplní proměnnou pr2 hodnotou toho checkboxu?
vyhledá ve formuláři prvek s jménem form2 za tři tečky si doplňte co potřebujete s tím prvkem dělat (zjistit checked, zjistit hodnotu).ernst napsal: co vlastně přesně dělá jQuery(form).find('[name=form2]') ... , Vrátí výsledek toho pole?
Ne na konci stránek, ale na koci řádků v javaskriptuernst napsal: středníky na konci stránek přebývají nebo chybí
Ano, ale vy neodesíláte formulář, ale zpracováváte ho v javaskriptu. Odesílaná data si tedy musíte pořešit sám.ernst napsal: někde jsem možná četl že formulář odesílá hodnotu, jen když je checbox zaškrtnut?
26. říj 2015 18:42 #124185
Odpověď od Ernst
Joomla Expert
díky, to mám zase chvíli, co studovat.
Jak jsem psal dříve, doufal jsem, že javascript se nebudu muset učit
Jde pomocí img zavolat php a tam si vše včetně javascriptu pořešit?
např.
var img = new Image();
img.src = "skript.php?a=1";
Jak jsem psal dříve, doufal jsem, že javascript se nebudu muset učit
Jde pomocí img zavolat php a tam si vše včetně javascriptu pořešit?
např.
var img = new Image();
img.src = "skript.php?a=1";
26. říj 2015 18:47 #124186
Odpověď od Houbák
Zkušený uživatel
Prakticky na jakýkoliv prvek můžete dát onclick událost a zavolat přes AJAX php soubor...