Nefunkční confirm v AJAXu
- R@da
- Člen | 28
Ahoj,
mám problém s potvrzovacím oknem u odkazů s ajaxem.
Tady je kód co mám v šabloně.
<a n:href="markDone! 1" data-confirm="Smazat?" class="ajax" data-id="1">Smazat</a>
<script type="text/javascript">
$(document).ready(function()
{
$.fn.extend({
triggerAndReturn: function (name, data) {
var event = new $.Event(name);
this.trigger(event, data);
return event.result !== false;
}
});
$('a[data-confirm], button[data-confirm], input[data-confirm]').live('click', function (e) {
var el = $(this);
if (el.triggerAndReturn('confirm')) {
if (!confirm(el.attr('data-confirm'))) {
return false;
}
}
});
});
</script>
Pokud se klikne na Smazat, zobrazí se správně potvrzovací dialogové
okno, jenomže když jej nepotvrdím (kliknu na zrušit), tak se AJAXový dotaz
odešle a záznam se mi smaže. Pokud kliknu na OK, smaže se také.
Můžete mi prosím někdo poradit co dělám špatně?
Jestli se to tu už někdy řešilo, tak se omlouvám, ale nikde jsem nenašel
odpověď.
Předem děkuji.
- R@da
- Člen | 28
Děkuji za odpověď.
Zkusil jsem použít tu knihovnu, funguje to dobře. Jenom se mi změní URL na:
example.com/ukol/vypis?taskId=1&do=markDone .. Je to
správně, v případě, že to chci poslat AJAXem? V konzoli, když si
zobrazím XHR, tak se AJAXový dotaz pošle, jenom mi není jasné proč to
změní tu URL.
Předem děkuji.
- Vojtěch Dobeš
- Gold Partner | 1316
R@da: Nenačítáš i rozšíření history.ajax.js
? Bez
toho by se URL updatovat neměla. Pokud ne, zkus ukázat tvůj aktuální JS
kód a co tam načítáš za skripty.
Změní se ta URL bez přenačtení celé stránky?