Zadejte hledaný výraz...

Jquery select a onChange submit formuláře – problém

since
verified
rating uzivatele
22. 9. 2012 13:41:26
Ahoj,
prosím o radu. Potřebuji odeslat formulář přes POST, když změním hodnotu v selectu (filtrování). Celý filter už mám hotový a funguje bez problémů pokud vyberu hodnotu v selectu a kliknu manuálně na "submit". Pokud to odeslání udělám přes "onChange", tak se sice stránka realoadne, ale nic se neodešle. Když si dám vyspat SQL dotazy, tak pokud kliknu na submit, tak vše jede ale když to udělám přes onChange, tak se tváří, jako by se odeslal ale nic se neodešle. Může mi někdo pomoct?
Zkoušel jsem řešení například: onchange="this.form.submit()". (i jiné)
Pro hezké selecty používám: http://www.bulgaria-web-developers.com/projects/javascript/selectbox/
Formulář:
PHP kód je v této situaci asi zbytečný, když to jede pokud kliknu na "submit" ale přes JS to nic neudělá. Nenpadá mě, kde může být problém. Data zpracovávím na stejné stránce kde je formulář.
Děkuji za pomoc.
22. 9. 2012 13:41:26
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811264
K0nias
verified
rating uzivatele
22. 9. 2012 13:46:13
onchange="document.forms.submit();"
22. 9. 2012 13:46:13
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811263
since
verified
rating uzivatele
22. 9. 2012 13:50:25
Napsal K0nias;847526
onchange="document.forms.submit();"
Díky, ale jedná se o úplně stejný efekt - stránka se tváří, že něco odešle ale formulář nezmění výsledek :(
22. 9. 2012 13:50:25
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811262
K0nias
verified
rating uzivatele
22. 9. 2012 13:54:53
v tom pripade bych uz asi chtel videt i ten PHP kod :)
22. 9. 2012 13:54:53
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811261
Tom
verified
rating uzivatele
(6 hodnocení)
22. 9. 2012 13:55:14
Ahoj,
řekl bych že to bude tím, že používáš ty pěkné selecty.
Co udělá tohle?
22. 9. 2012 13:55:14
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811260
since
verified
rating uzivatele
22. 9. 2012 14:08:48
Napsal Jadro007;847533
Ahoj,
řekl bych že to bude tím, že používáš ty pěkné selecty.
Co udělá tohle?
Vyskočí alert a potom se teprve reloadne stránka - nový výsledek se ale nezobrazí. Zkoušel jsem úplně odstranit SelectBox a výsledek je stejný, že by byla tedy chba opravdu v PHP? Proč to tedy po kliknutí na tlačítko "submit" funguje bez problémů?
Možná volám PHP kód na špatném místě, nebo netuším, kde může být problém. Console javascriptu neukazuje žádný chyby.
22. 9. 2012 14:08:48
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811259
Tom
verified
rating uzivatele
(6 hodnocení)
22. 9. 2012 14:10:26
hádám že problém bude opravdu někde v PHP, zkus si nechat vypsal $_POST a uvidíš jestli se to odesílá správně
22. 9. 2012 14:10:26
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811258
since
verified
rating uzivatele
22. 9. 2012 14:17:01
Napsal Jadro007;847544
hádám že problém bude opravdu někde v PHP, zkus si nechat vypsal $_POST a uvidíš jestli se to odesílá správně
V podmínce, která se má spustit po kliknutí po odeslání formu jsem dal:
print_r($_POST);
exit();
Když kliknu na tlačítko manuálně, zobrazít se array co obsahuje POST, když ovšem vyberu select pomocí onChange, vůbec se nespustí kód v podmínce, který je mezi:
if(isset($_POST)) {
print_r($_POST);
exit();
...zbytek kódu zde...
}
tudíž problém bude někde v tom, že když to udělám pomocí OnChange, tak se vůbec nezavolá ta podmínka :/
22. 9. 2012 14:17:01
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811257
qye
verified
rating uzivatele
(16 hodnocení)
22. 9. 2012 14:24:37
přidej do formuláře nad submit tenhle kód
22. 9. 2012 14:24:37
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811256
since
verified
rating uzivatele
22. 9. 2012 14:28:47
Napsal qye;847548
přidej do formuláře nad submit tenhle kód
Super, už to jede. To by mě fakt nenapadlo :( Díky moc!
22. 9. 2012 14:28:47
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811255
Tom
verified
rating uzivatele
(6 hodnocení)
22. 9. 2012 16:05:15
Nebo stačilo odstranit podmínku...
22. 9. 2012 16:05:15
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811254
Problém je to způsobený tím, že jQuery při odesílání formuláře neodesílá submit (na jQuery fórech se dá najít i automatické řešení, bez potřeby skrytého inputu, je to kousek kódu).
Jadro007: Vždy je lepší udělat skryté pole atd., než odstraňovat podmínku. Jistota je jistota.
22. 9. 2012 18:31:52
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811253
Tom
verified
rating uzivatele
(6 hodnocení)
23. 9. 2012 11:22:38
Crash01: lepší je použít nějaký framework, kde něco takového nemusím řešit :)
23. 9. 2012 11:22:38
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811252
Jadro007: Musím oponovat. Protože to, co dělá jQuery, je správný postup. Představ si nějaký formulář s více potvrzovacími tlačítky (jako příklad nějaké hvězdičkové hodnocení). Ve formuláři mám submity s různými name popř. pouze různými hodnotami. Co vše se má tedy odeslat, když je formulář odeslán javascriptem bez výběru jakéhokoliv tlačíka? Má se odeslat první? Poslední? Nebo všechny?
Proto je tenhle postup jediný univerzální a zbytek (de facto 1-2 řádky) kódu už je na programátorovi. Mě to přijde logické :)
23. 9. 2012 12:07:39
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811251
Tom
verified
rating uzivatele
(6 hodnocení)
23. 9. 2012 12:46:19
Crash01: máš pravdu v tom, že kdyby bylo víc tlačítek tak se to musí řešit jinak - ale v tomhle případě problém zase nevyřeší přidání skrytého inputu, protože v tom případě by se to vždy bralo jako jedno konkrétní tlačítko.
Třeba v Nette si nechám vygenerovat formulář, nastavím v presenteru funkci která formulář po odeslání zpracuje a nemusím řešit, jestli se to odeslalo přes JS nebo přes tlačítko..
23. 9. 2012 12:46:19
https://webtrh.cz/diskuse/jquery-select-a-onchange-submit-formulare-problem#reply811250
Pro odpověď se přihlašte.
Přihlásit