Nella realizzazione di un form dinamico con Fabrik spesso capita di dover nascondere o visualizzare degli elementi/campi in base alla domanda. Abbiamo già affrontato questo caso scrivendo una guida specifica per chronoforms qui: Form dinamico o form a geometria variabile?, oggi vedremo come fare la stessa cosa con Fabrik.
Fabrik è uno dei migliori CCK per joomla, vediamo come creare un form dinamico con Fabrik
Realizzare un form dinamico vuol dire visualizzare o nascondere determinate voci di campo in base alle scelte o al contenuto inserito nei campi precedenti
Per questo esempio abbiamo una situazione come si vede nell'immagine seguente:
Questo form dinamico realizzato con fabrik potrebbe essere un ipoteco sondaggio, dove secondo quello che risponderemo nella prima domanda, relativa ad un campo con 3 radio button farà visualizzare o meno i campi successivi. Per questo esempio faremo in modo che alla scelta della prima voce "automobile", il campo succesivo visibile sarà "marca automobile, mentre scegliendo "motocicletta" verrà visualizato il campo "marca motocicletta", e infine scegliendo "non so" visualizzeremo un campo di testo dove spiegheremo il perchè della terza scelta.
Se avete partecipato a qualche sondaggio avete ben presente cosa si intende per form dinamico
form dinamico con Fabrik, vediamo le impostazioni
Fate attenzione, io per questo esempio ho scelto di avere come valori ed etichette le medesime voci.
Adesso andiamo ad impostare la visibilità a zero per i campi "marca automobile", "marca motocicletta" e "spiega il perchè". Per fare questo ci portiamo dentro l'elemento "auto o moto", in fabrik alla voce elementi.
...Poi successivamente clicchiamo su javascript
...e clicchiamo su aggiungi
Adesso qui andremo ad inserire le condizioni per visualizzare il campo successivo in base alla scelta:
la prima condizione sarà che al caricamento (load) del campo "auto o moto", nessuno dei tre campi successivi sia visibile:
Scriveremo la stessa condizione 3 volte cambiando il campo che non vogliamo visualizzare.
La stringa si legge così: quando l'elemento viene caricato (load) e la scelta è uguale (==) a niente (valore campo vuoto), nascondi (action o azione che effettua), element (il campo indicato)
Le istruzioni o le stringhe da scrivere dovranno essere 3, una per ogni opzione del campo "auto o moto". nell'immagine successiva il form come si presenterà
form dinamico con Fabrik, inseriamo le condizioni
Adesso inseriamo le condizioni per visualizzare i campi successivi in base alla scelta delle varie opzioni. Procediamo per visualizzare il campo automobili in caso di scelta automobile, questa vola la stringa si legge così: Quando faremo click (evento) sul valore automobile, l'azione che dovrà succedersi (action show), sarà la visualizzazione del campo (element) marca automobile.
Scriviamo adesso i rimanenti 2 eventi:
Adesso il risultato è questo:
Avendo scelto l'opzione automobile visulizzerò il campo con le marche di automobili.
In realtà non abbiamo ancora finito, se provate a cliccare "motocicletta" o "non so", vedrete che si i campi verranno visualizzati, ma non verranno chiusi quelli che non hanno niente a che vedere con la nostra scelta.
Qui per risolvere sarà necessario inserire altre tre istruzioni per non visualizzare i campi non necessari, aggiungendo che quando ad un click il campo contiene "automobile" (contains), il campo "motocicletta" e poi "non so", questi dovranno defilarsi.
ecco le altre istruzioni complete:
Questa guida su come realizzare form dinamico con Fabrik joomla termina qui, se avete dubbi postate sui commenti. Se volete potete offrirmi un caffè cliccando nel pulsante sottostante, oppure cliccate su uno dei banner pubblicitari.