Autor | Zpráva | ||
---|---|---|---|
quatzael Profil |
#1 · Zasláno: 14. 9. 2014, 13:44:49
Řeším kontrolu formuláře (viz. předchozí vlákno)
Ve funkci: jQuery submit mám zjednodušeně tohle: $("#form").submit(function(e){ e.preventDefault(); // nějaký script $.when(ajax(value1), ajax(value2)).then(function (result1, result2) { if (result1 === "true" && result2 === "true") document.getElementById("form").submit(); }); Jenže se zdá, že ten script běží pořád dokola. Dá se to vyřešit nějak elegantně? |
||
Destiny_1 Profil |
quatzael:
Jenže se zdá, že ten script běží pořád dokola. Dá se to vyřešit nějak elegantně? Jo běží dokola, protože tímhle document.getElementById("form").submit(); spouštíš tohle $("#form").submit(function(e){
To se dá vyřešit třeba takhle: var starter=1; $("#form").submit(function(e){ if (starter){ e.preventDefault(); } // nějaký script $.when(ajax(value1), ajax(value2)).then(function (result1, result2) { if (result1 === "true" && result2 === "true") starter=0; document.getElementById("form").submit(); }); |
||
Chamurappi Profil |
#3 · Zasláno: 15. 9. 2014, 12:55:02
Reaguji na Destinyho_1:
„Jo běží dokola, protože tímhle document.getElementById("form").submit(); spouštíš tohle $("#form").submit(function(e){“
Není pravda. Odeslání formuláře metodou submit nevyvolává událost onsubmit .
Nevím, co quatzaelovi jak běží či neběží, ale v tomto problém nebude. |
||
quatzael Profil |
#4 · Zasláno: 15. 9. 2014, 12:56:35 · Upravil/a: quatzael
Destiny_1:
Díky za odpověď. Mě to taky napadlo, že to takhle budu muset vyřešit, ale myslel jsem, že je nějaký elegantnější řešení. Chamurappi: Aha. Tak to je možný, mám tam ještě nějaký bugy, takže to asi neodesílá proto.. |
||
Destiny_1 Profil |
#5 · Zasláno: 15. 9. 2014, 13:06:02
Chamurappi:
tak proč mi tohle vypisuje do logu pořad dokola "test"? <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script> $(document).ready(function(e){ $("form").submit(function(e){ e.preventDefault(); console.log("test"); $("#test").submit(); }); }); </script> <form method="post" id="test"> <input type="submit" value="odeslat"> </form> |
||
quatzael Profil |
Destiny_1:
Není náhodou v tomhle rozdíl mezi: document.getElementById("test").submit(); a $("#test").submit(); ?
|
||
_es Profil |
quatzael:
Pardon, zmazal som to, nepozorne som si to prečítal. |
||
Destiny_1 Profil |
quatzael:
Jojo pravda, omlouvám se... |
||
quatzael Profil |
_es:
„Pardon, zmazal som to, nepozorne som si to prečítal.“ Jasně, ok. Já jsem si to stihl přečíst, ale nepochopil jsem (podobně jako v předchozím vlákně..) |
||
_es Profil |
quatzael:
> Není náhodou v tomhle rozdíl mezi: > document.getElementById("test").submit(); a $("#test").submit(); ?
Vo výsledku to odošle formulár v oboch prípadoch „tradične“. |
||
Časová prodleva: 10 let
|
0