Jak zavolat stejné odeslání formu jako při stisku buttonu
- kleinpetr
- Člen | 480
Ahoj, tuto otázku jsem si pokládal často, ale vždy se to dalo nějak vyřešit. Momentálně je to pro mě důležité a tak se ptám.
Uvnitř formu mám button, který má setValidationScope(FALSE) a nastavený callback. Jak mohu ručně zavolat stisknutí tohoto tlačítka, resp. jak mohu vyvolat stejné chování jako při odeslání přes button ?
Díky
Editoval kleinpetr (12. 12. 2015 18:00)
- CZechBoY
- Člen | 3608
Proč nemůžeš použít normální stisknutí toho tlačítka?
Mohla by ti pomoct metoda Form::setSubmittedBy
- kleinpetr
- Člen | 480
Protože dám příklad s autobazarem
mám autobazar o kterém mám nějaké informace.
detail autobazaru je obsáhlý form vykreslený do různých částí, a na konci stránky tlačítko submit, které uloží celý form. Teď ale potřebuji přidat do autobazaru auto, tak mám ve formuláři tlačítko addCar, které má callback na saveCars() kde uloží nějaké hodnoty o autech a přepíše snippet cars, tohle tlačítko má jako onclick ajax metodu která zavolá v presenteru addCar(), která do db přidá auto a překreslí snippet, tudíž mě už stačí do formu načítat již uložené auta a vždy při addCar se uloží hodnoty, přidá se auto do db a překlreslí se snippet. Ale kdybych přepsal snippet bez odeslání toho formu, tak se mi přepíši i hodnoty, které uživatel zadal a neuložil, takže musím při jakékoliv akci přidat button který udělá save formu a až jako onclick dávat teprve to, co chci udělat. Proto bych rád měl třeba seznam aut a když by se na některé kliklo, tak by se to zachovalo jako odeslání buttonem na callback saveCars() a například ajaxem se načetl jiný obsah, ale s tím, že se ten předešlý uloží.
Editoval kleinpetr (12. 12. 2015 19:46)
- CZechBoY
- Člen | 3608
To je teda formulář na přidání jednoho auta?
A proč je ten formulář rozdělenej na víc částí, když se stejně to
auto přidá jen jednou?
Pokud tam je třeba nějaký tlačítko na vyhledávání motoru, barvy nebo
čeho tak tam dej jen skrytej input, kterej bude plnit třeba javascript přes
modální okno.
- kleinpetr
- Člen | 480
nene to je formulář autobazaru (v tomhle příkladu) a do toho autobazaru se dá přidat n aut a u každého auto se ještě vykreslí několik inputů. Ten form je rozdělej na karty např. Obecné kde je input pro nazev descript atd pak je treba poloha pro gps atd a pak je auta a tam je seznam aut ale muzou se prave pridavat.
- kleinpetr
- Člen | 480
a když bych to chtěl udělat trochu jednodušší tak by byla karta seznam aut kde budou jen odkazy na jednotlive detaily auta, to není problém ,ale ten seznam aut je uprostřed formu takže když bych chtěl někam přesměrovat uživatele, tak musím uložit doposud zadaný form, tudíž potřebuji nějak vyvolat submit akci pro uložení po kliknutí na nějaký odkaz. Popř to vyřešit nějakým modálem..
Editoval kleinpetr (12. 12. 2015 20:32)
- CZechBoY
- Člen | 3608
Co to udělat ve stylu jak funguje filemanager třeba?
Dám uživateli na výběr seznam, co je k dispozici teď a když se mu nic
nelíbí tak ať přidá něco svýho. Zase bych použil to modální okno, kde
by se vybralo to jedno (nebo víc) aut a přes javascript by se to uložilo do
hidden inputu.
- kleinpetr
- Člen | 480
Ano přesně takto podobně to řeším, jen ten zádrhel je v tom, že po výběru nějakého auta z modalu se modal zavře a nyní přepíšu snippet na stránce s autama a už tam musí být vypsáno auto spolu s dalšími inputy k tomu danému autu.. ale asi to také vyřeším dalším modalem, protože to bude nejčistější. Díky za tvůj čas :)