Back to top

Autore Topic: Form e campi dropdown dinamici con Chronforms e ajax  (Letto 8132 volte)

Offline vales

  • Global Moderator
  • Instancabile
  • ********
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Uno dei più problemi che spesso troviamo nella creazione di un form è la creazione di campi dropdown dinamici in cui i valori di un campo dipendono dalla scelta compiuta in precedenti campi dropdown. Ad esempio i classici campi regione, provincia e comune, i cui dopo la scelta della Regione nel campo regione, nel campo provincia si visualizzano solo le Province della regione e poi nel campo comune i solo Comuni della Provincia selezionata nel campo provincia.

In questa guida vedremo come creare con Chronoforms v5, partendo dall'esempio regioni-province-comuni, i legami fra i campi dropdown per ottenere l'effetto desiderato.

Il metodo consente teoricamente di concatenare un numero illimitato di dropdown.

Link all'articolo:  http://www.joomla.it/e-ancora/articoli-community-3x/8172-form-e-campi-dropdown-dinamici-con-chronforms-e-ajax.html
« Ultima modifica: 08 Mar 2016, 18:21:10 da alexred »
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline xplosion

  • Global Moderator
  • Instancabile
  • ********
  • Post: 4047
  • Sesso: Maschio
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #1 il: 09 Mar 2016, 09:07:23 »
Ottima guida vales. Complimenti !
Me la salvo subito.

Offline assospiz

  • Esploratore
  • **
  • Post: 138
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #2 il: 09 Mar 2016, 10:56:42 »
Super Guida!
Super Valerio!
Grazie infinite.
SPIZ Associazione di Promozione Sociale
www.spiz.it

Offline angelocani

  • Esploratore
  • **
  • Post: 75
  • Sesso: Maschio
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #3 il: 09 Mar 2016, 11:11:23 »
Articolo di fondamentale importanza che consente la creazione di molte ricorrenti applicazioni web anche a chi non fa eccessivo ricorso a codice.
Grazie Vales

Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #4 il: 10 Mar 2016, 22:19:59 »
complimenti per la guida davvero molto tecnica e ottima.
Ultimamente mi sono avvicinato a ***** un po' per la sua semplice intuitività e praticità però chronoforms pur essendo più macchinoso e magari non immediatamente comprensibile credo sia leggermente migliore o almeno permette di fare cose più complesse.
Cosa ne pensate ?

edit by mod. No a citazione prodotti commerciali.
« Ultima modifica: 11 Mar 2016, 06:38:28 da tomtomeight »

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #5 il: 11 Mar 2016, 06:42:25 »
Scusa a parte la citazione commerciale stai paragonando due mondi diversi, che fanno cose diverse, inutile scendere nei dettagli e andare ot, limitiamoci ad apprezzare ( o criticare se il caso)  l'ottima guida e ringraziare il sempre disponibile Vales.

Offline ItalPascal

  • Appassionato
  • ***
  • Post: 457
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #6 il: 11 Mar 2016, 12:18:33 »
come sempre Vales, chiaro e facile da seguire. Complimenti  ;)
Se vuoi prenderti del tempo per "rilassare" corpo e mente visita www.marilontani.com

Offline Erix

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #7 il: 02 Set 2016, 00:02:34 »
Ciao a tutti, ho seguito il progetto e mi è sembrato di facile applicazione. Però quando poi ti manca l'appoggio... ;-) Ho provato a "circondare" le select con altri dati per creare un form contatto. Alla fine con invio parte l'email con tutti i dati {nome} {email} ecc. ed è tutto a posto tranne che per le select dinamiche. Ovvero se inserisco il Name delle select di regione provincia e comune arriva solo l'id usato per il riempimento delle select.
Nome: {nome}
Regione: {regioni}
Provincia: {province}
Città: {comuni}
Telefono: {telefono}
Email: {email}
Oggetto: {oggetto}
Messaggio: {messaggio}

A questo punto necessiterebbe di una query che filtri i nomi regione provincia e comune in base agli id selezionati.

Dove va posizionata la query? nel Custom?
e la stessa query come dovrebbe essere impostata?

Grazie in anticipo a chi vorrà rispondermi.

Offline vales

  • Global Moderator
  • Instancabile
  • ********
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #8 il: 04 Set 2016, 08:16:49 »
devi inserire delle dbread, con nuovi model id e in conditions il filtro su id, dopo dbsave e prima dell'action email in cui leggi i valori dei nomi delle tabelle regioni province e comuni e subito dopo un campo custom in cui con php assegni i valori trovati ad altrettanti valori dei campi che vuoi mostrare.

Esempio supponiamo che i nuovi model id siano regioni_1, province_1, comuni_1 il custom code sarà qualcosa di questo tipo

Codice: [Seleziona]
<?php
$form
->data['regione']=$form->data['regione_1']['nome_regione'];
$form->data['provincia']=$form->data['provincia_1']['nome_provincia'];
$form->data['comune']=$form->data['comune_1']['nome_comune'];
?>

Ovviamente i nomi veri di campi e variabili dipenderanno dai valori reali che hai utilizzato.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline Erix

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #9 il: 04 Set 2016, 20:35:08 »
Ho fatto un altro ragionamento. Partendo dal presupposto che le tabelle sono "statiche" ovvero non devono essere aggiornate, perchè non usare gli id anzichè numerici direttamente nominali?
Ho variato gli id nelle tabelle riportando i rispettivi nomi sia per regioni che per province che per comuni.
Le select si popolano lo stesso e i nomi tornano anche per le email. Mi sembra che alla fine ci sia un risparmio di codice.
Quindi funziona. ma da non esperto mi chiedo, dov'è l'inghippo? :o ;D

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #10 il: 11 Ott 2016, 17:03:10 »
piccola domanda, se io volessi agganciare la tabella del primo dropdown (quindi regione) all'id degli utenti di joomla, posso farlo ??

cioè, dato l'id utente in automatico compila i 3 dropdown in questione (che siano regionale province comuni o altro)



Offline vales

  • Global Moderator
  • Instancabile
  • ********
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #11 il: 12 Ott 2016, 12:21:27 »
piccola domanda, se io volessi agganciare la tabella del primo dropdown (quindi regione) all'id degli utenti di joomla, posso farlo ??

cioè, dato l'id utente in automatico compila i 3 dropdown in questione (che siano regionale province comuni o altro)

dipende dalla relazione che c'è fra id utente e le tabelle regione, provincia, comune, la tabella degli utenti #__users non ha relazioni con essi, almeno che l'id utente non venga preso da altra tabella che ha qualche relazione es. comune da cui di può riconstruire provincia e regione.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #12 il: 24 Nov 2016, 19:20:08 »
devi inserire delle dbread, con nuovi model id e in conditions il filtro su id, dopo dbsave e prima dell'action email in cui leggi i valori dei nomi delle tabelle regioni province e comuni e subito dopo un campo custom in cui con php assegni i valori trovati ad altrettanti valori dei campi che vuoi mostrare.

Esempio supponiamo che i nuovi model id siano regioni_1, province_1, comuni_1 il custom code sarà qualcosa di questo tipo

Codice: [Seleziona]
<?php
$form
->data['regione']=$form->data['regione_1']['nome_regione'];
$form->data['provincia']=$form->data['provincia_1']['nome_provincia'];
$form->data['comune']=$form->data['comune_1']['nome_comune'];
?>

Ovviamente i nomi veri di campi e variabili dipenderanno dai valori reali che hai utilizzato.

penso che questo sia il mio stesso problema, in poche parole i dropdown dinamici (nel database) si salvano gli id e non i campi con il nome corretto come dovrei. Ho 4 dropdown dinamici.

ho provato a creare un custom code prima del dbsave finale del form con questo codice

Codice: [Seleziona]
<?php
$form
->data['dropdown1']=$form->data['modelID']['nomeCampoDaSalvareNelDB'];
?>


ma non funziona, forse sbaglio qualcosa...

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #13 il: 24 Nov 2016, 19:30:26 »
È normale che vengano salvati gli id, perché poi per visualzzare il campo corrispondente nella visualizzazione del form basta fare una select che riporta il nome del campo relazionato dall'id.

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #14 il: 24 Nov 2016, 19:37:36 »
È normale che vengano salvati gli id, perché poi per visualzzare il campo corrispondente nella visualizzazione del form basta fare una select che riporta il nome del campo relazionato dall'id.

perchè lui prende i valori che si relazionano (id), avevo intuito...

una select va posizionata in un custom prima del db save? non riesco a trovare esempi nè sul forum nè su google...

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #15 il: 24 Nov 2016, 19:40:36 »
Scusa tu dove vuoi visualizzare i nomi perché nel form di immissione vedi gia i nomi.

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #16 il: 24 Nov 2016, 19:45:16 »
Scusa tu dove vuoi visualizzare i nomi perché nel form di immissione vedi gia i nomi.

esatto

io ho 4 dropdown dinamici, nei drop vedo correttamente il campo con la descrizione, ma quando salvo il form nel database si salvano gli id di queste voci, non i nomi che visualizzo all'interno del drop

siccome poi effettuo una modifica tramite chronoconnectivity di questo form salvato, avrei bisogno di vedere i nomi e non gli id...

è l'ultimo passo da sistemare per completare un sistema di assistenza tecnica , composta da form di salvataggio con CF e modifica con CC, che nei prossimi giorno metterò a disposizione degli utenti (è da molti mesi che ci lavoro)...
« Ultima modifica: 24 Nov 2016, 19:52:12 da Ago_ »

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #17 il: 24 Nov 2016, 19:52:34 »
Non uso e non conosco a fondo chrono... credo che dovresti ricostruire  il form in chronoconn.... allo stesso modo. Il principio e quello. Chrono è ottimo per fare form semplici ma difficilissimo se devi costruire un applicazione, io uso ormai come sai adesso, datagrill che ti genera in modo automatico vista, dettaglio ed in questi senza fare nulla in più puoi editare, creare, cancellare, selezionare, ricercare, ecc. Lo trovo semplice nel costruire appilcazioni anche complesse con minimo intervento.

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #18 il: 24 Nov 2016, 19:57:02 »
Non uso e non conosco a fondo chrono... credo che dovresti ricostruire  il form in chronoconn.... allo stesso modo. Il principio e quello. Chrono è ottimo per fare form semplici ma difficilissimo se devi costruire un applicazione, io uso ormai come sai adesso, datagrill che ti genera in modo automatico vista, dettaglio ed in questi senza fare nulla in più puoi editare, creare, cancellare, selezionare, ricercare, ecc. Lo trovo semplice nel costruire appilcazioni anche complesse con minimo intervento.

si, infatti mi sono promesso di studiarlo e magari convertire il lavoro su datagrill/xataface, ormai sono alla fine e quindi concludo con CF/CC

però CC in questa fase prima del salvataggio non c'entra niente, perchè CC non fa altro che leggere il database e modificare quello che trova, invece, qua il problema è che salva nel database gli id e non i valori reali che si vedono nel dropdown mentre si compila il form. Mi sfugge questo punto....

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Form e campi dropdown dinamici con Chronforms e ajax
« Risposta #19 il: 24 Nov 2016, 20:09:07 »
Questa è materia del nostro Vales a cui passo la palla.

 



Web Design Bolzano Kreatif