dodání ihned! nové
Hledáme programátora do rostoucího týmu ITnetwork.cz, 100% home office, 100% flexibilní pracovní doba. Více informací
Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
BF
Avatar
danhosek
Člen
Avatar
danhosek:11.12.2016 16:32

Ahoj, mám problémy s potvrzovacím oknem. V js se příliš nevyznam.
Mám připojené .js (ajax,jquery) a confirm.js:

$(function () {
    $("a[data-confirm]").click(function (e) {
        if (!confirm($(this).data('confirm')))
            e.preventDefault();
    });
});

a v odkazu pro manipulaci s objektem(např. smazání):

<a n:href=":Core:Reference:remove $reference->url" data-confirm="Opravdu chcete vybranou referenci _ {$reference->title} _ odstranit?">Odstranit referenci</a>

při kliknutí na odkaz se okno zobrazí, ale je jedno na co dále kliknu, pokaždé se požadavek provede i při zamítnutí. V consoli je chyba a waring:

confirm.js:25Un­caught ReferenceError: $ is not defined(…)(ano­nymous function) @ confirm.js:25

jquery-1.11.3.min.js:5 Synchronous XMLHttpRequest on the main thread is deprecated because of its > detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.

Děkuji za pomoc.

 
Odpovědět
11.12.2016 16:32
Avatar
Taskkill
Redaktor
Avatar
Taskkill:12.12.2016 9:22

Půjdu postupně: máš v HTML nalinkovane jQuery ještě před tím tvým js souborem?

Tvůj ajax request má explicitně zapnutou synchronicita, to je bad practise, bude to chtít přepsat.

Ohledně požadavku co se provede tak jako tak, bylo by dobrý mi osvětlit, co bys chtěl aby se stalo. Já vidím odkaz, po kliknutí na odkaz se očekává přechod na danou stránku, preventDefault() tomuhle může zabránit, nicméně pokud máš někde nějaký ajax tak tomu se nezabrání, ale to jen hádám, protože to už nevidím.

 
Nahoru Odpovědět
12.12.2016 9:22
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
danhosek
Člen
Avatar
Odpovídá na Taskkill
danhosek:12.12.2016 17:39

Přesně chci, abych kliknul na tlačítko smazat odkaz, a vyskočilo oké nko, žteré bude mít tlačítko OK a Cancel/Storno a s otázkou- Opravdu chcete smazat referenci? když dam OK= požadavek se provede.
Podud dam Cancel/Storno/kří­žek tak se neprovede nic.
požadí nalinkovaných js souborů v @layout.latte:

<script src="{$basePath}/js/scrollreveal/scrollreveal.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script src="{$basePath}/www/js/netteForms.js"></script>
    <script src="{$basePath}/www/js/nette.ajax.js"></script> {* Nette Ajax depens on jQuery *}
        <script src="https://nette.github.io/resources/js/netteForms.min.js"></script>
        <script src="{$basePath}/www/js/main.js"></script>
    <script src="{$basePath}/js/main_2.js"></script>
    <script src="{$basePath}/js/creative.min.js"></script>
    <script type="text/javascript" src="{$basePath}/js/confirm.js"></script>
 
Nahoru Odpovědět
12.12.2016 17:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.