Nette Form + AJAX Selectbox + Snippet

Joacim
Člen | 229
+
0
-

Ahoj,

mám formulář s 2 selectboxy, které jsou na sobě závislé (druhý je zavislý na prvním). Tzn vyberu hodnotu z prvního a AJAXEM se mě dotáhnou hodnoty do druhého. Mám nette 2.3. Výběr a překreslení funguje dobře, bohužel při zmáčknutí submitu se vůbec nedostanu do Succeeded, jen se refreshne stránka. Data z obou formulářů se přes redirect pošlou do URL a poté pokud je URL obsahuje nastaví se jako výchozí v již zminovaných selectboxech.

<div class="col-lg-12">
                            {snippetArea wrapper}
                                <form class="" role="" id="" action="" method="post" n:name="xxxSearchForm">
                                    <input type="hidden" n:name="tab">
                                    <div class="form-group">
                                        <div class="input-group">
                                            <span class="input-group-addon"><i class="glyphicon glyphicon-barcode"></i> {_ xxx}</span>
                                            <div class="icon-addon addon-lg">
                                                <select id="eqp-pre" class="form-control" n:name="eq"></select>
                                            </div>
                                            <span class="input-group-addon">_</span>
                                            <div class="icon-addon addon-lg">
                                                {snippet sufix}
                                                    <select id="" class="form-control" n:name="sufix"></select>
                                                {/snippet}
                                            </div>
                                            <span class="input-group-addon">&nbsp;</span>

                                            <span class="input-group-btn">
                                                <button class="btn btn-primary wait-search" type="submit" id="btn"><span class="glyphicon glyphicon-search"></span></button>
                                            </span>
                                        </div>
                                    </div>
                                </form>
                            {/snippetArea}

Handle pro AJAX

public function handleEqpPrefix($eqp) {
     if ($this->isAjax()) {
         $data = $nastenidatsDB;
         $this['xxxSearchForm']['sufix']->setItems($data);
         $this->redrawControl('sufix');
         $this->redrawControl('wrapper');
     }
 }

Succeeded

public function xxxSearchFormSucceeded(Form $form, $values) {
     try {
         $id = $necozformu;
         $this->redirect(":xxx", array('tab' => $values->tab, 'id' => $id));
     } catch (AuthenticationException $e) {  // Invalid login
         $this->flashMessage($e->getMessage(), "danger");
         $this->redirect(":Home:default");
     }
 }

Pokud jsem nepoužil snippetArea tak jsem vždy dostal chybu end() expects parameter 1 to be array, null given pro suffix
Nějaké rady či nápady ? Případně řešení které používáte a funguje ?

Přetane fungovat i JS, který pouštím a je vázán na ID select boxu

Editoval Joacim (5. 6. 2018 13:05)

Ondřej Kubíček
Člen | 494
+
0
-

osobně doporučuji využit již hotové řešení, třeba dependent select box https://componette.org/…ntselectbox/

Phalanx
Člen | 310
+
0
-

Máš nastavenou action=""

Joacim
Člen | 229
+
0
-

Ondřej Kubíček napsal(a):

osobně doporučuji využit již hotové řešení, třeba dependent select box https://componette.org/…ntselectbox/

Nad tím jsem taky uvažoval, ale potřebuji to využít jen na jednom místě a stačilo by mě rozchodit ta moje varianta

Joacim
Člen | 229
+
0
-

Phalanx napsal(a):

Máš nastavenou action=""

V latte mám action prázdné, zatím jsem jej ani nevyužíval, vždy stačila jen method=POST takže nevim co tam nastavit jinak

Phalanx
Člen | 310
+
0
-

zkus to action úplně smazat

Joacim
Člen | 229
+
0
-

Phalanx napsal(a):

zkus to action úplně smazat

Ahoj Action jsem smazal, ale bohužel zcela bez efektu, stále stejný problém

rkor
Člen | 62
+
0
-

Neobsahuje ten form nějaké chyby? Zkoušel jsi je vypsat?

Joacim
Člen | 229
+
0
-

rkor napsal(a):

Neobsahuje ten form nějaké chyby? Zkoušel jsi je vypsat?

To nevim, nette laděnka nic nehlásí a pokud předělám jeden selectbox na input tak vše funguje, ale tam již nepoužívám AJAX ani Snippety