nefunkční ajax – používá se normální request
- Filip111
- Člen | 244
Ahoj,
nemám s tím moc zkušeností, proto prosím o radu – mám snippet a
odkazy, které ho mají překleslit, ale nepoužije se ajax, ale po kliknutí na
odkaz se vždy provede reload celé stránky. Celkově to funguje a zobrazuje
správné věci, jen to není ajaxem.
Můžu sem dát případně odkaz na na živý web, ale jen aby mě někdo
nenařknul, že je to reklama.
Díky.
Link pro překreslení:
<a n:href="detail! detail=>$c['id']">
Šablona:
{snippet catalogDetail}
....
{/snippet}
Presenter:
public function handleDetail($detail) {
if($this->isAjax()){
$this->invalidateControl('catalogDetail');
}
$this->template->cdetail = $this->context->catalogModel->fetchDetail($detail);
}
Používám ajax s jQuery: https://componette.org/search/?…
- Ascaria
- Člen | 187
A máš odkazy javascriptem zajaxované? Něco jako:
<script>
/* Ajaxová tlačítka */
$('a.ajax, a.datagrid-ajax').off('click');
$('a.ajax, a.datagrid-ajax').on('click', function(event){
if(!event.isDefaultPrevented()){
// Zobrazíme spinner
$("#ajax-spinner, #ajax-spinner-bg").fadeIn('fast');
// Načteme ajaxově stránku
$.get(this.href);
}
// Zamezíme původnímu eventu
event.preventDefault();
});
</script>
A chybí ti u odkazu třída ajax asi no.
Editoval Ascaria (3. 4. 2012 12:14)
- Filip111
- Člen | 244
Díky, už jsem na to přišel.
V první řadě jsem neměl na odkazech ajax class.
Dále mi pak chyběl script pro zajaxování – ten od Ascaria mi nefungoval,
ale pomohl ten co je přímo v dokumentaci:
$("a.ajax").live("click", function (event) {
event.preventDefault();
$.get(this.href);
});