Joomla.it Forum
Componenti per Joomla! => Gestione Form => : elblues 24 Nov 2011, 23:59:40
-
Buonasera a tutti,
utilizzo Chronoforms 4RC2 in J! 1.5.22, e avrei bisogno di impostare un redirect dinamico che, a seconda del valore scelto dall'utente in un campo radio del form1, lo rimandi al form2 o al form3 pubblicati su altrettante pagine del sito, inviando contemporaneamente al form di destinazione i dati inseriti dall'utente nel form1.
Es.: l'utente inserisce nome e email; poi se sceglie il radio "info" e invia il form viene reindirizzato alla pagina Contatti dove trova il nome e l'email già compilati, mentre se sceglie "compra" viene reindirizzato alla pagina Acquisti, dove il form Acquisti, anche in questo caso, risulterà già compilato per i campi nome e mail.
So di dover usare le actions Redirect url e Redirect User nell'evento onsubmit, ma non riesco a impostarle correttamente.
Avreste qualche indicazione in più?
Grazie!
-
Prova questo. Però non ho verificato.
1) Assegnare ai valori radio i link di destinazione del redirect;
2) Nel campo del redirect user inserisci {nometuoradio}
-
Ciao Vales, e grazie della risposta,
ma purtroppo il Redirect User non accetta variabili o placeholders...
Avevo inteso di dover impostare dapprima un redirect url con l'url e i parametri necessari (che non so come configurare...), e come ultima azione del onSubmit event un Redirect User vuoto (come suggerto dall'Help di CF. Il problema è che le mie url di destinazione sono pagine del sito già esistenti e in cui sono pubblicati gli altri 2 forms cui devono giungere i dati del primo form, e non ho bisogno di crearle inserendo parametri attinti dai campi del form, cosa che invece avviene seguendo quella procedura.
Spero mi potrai aiutare...
Grazie!
-
Assegna ai valori del radio i nomi dei tuoi form che vuoi chiamare
esempio
nome_tuo_form1=radio 1
nome_tuo_form2=radio 2
inserisci le due action redirect url e redirect user come ultime actions
In redirect url configuri così:
Target URL
index.php
Params/fields map
option=com_chronoforms
chronoform={nome_tuo_campo_radio}
La action Redirect user deve essere nell'ultima posizione e la lasci vuota.
(questa non c'è nemmeno nel forum ufficiale) ;D
-
Vales,
come sempre... FUNZIONA!
Certo, reindirizza alle url dinamiche, ma poco importa...
L'unico fatto è che non trasmette i dati inseriti nel primo form a quello di destinazione, pur avendo impostato le variabili come da te indicatomi nel post precedente (http://forum.joomla.it/index.php/topic,134583.msg600163.html#msg600163) (funzionava perfettamente con il redirect statico da form1 a form2).
Devo integrare con qualche altra azione/variabile/parametro?
Davvero grazie ancora...!
-
prova ad aggiungere i valori degli altri campi nel redirect url
esempio qualcosa come questo
valore1={campo1}
valore2={campo2}
ecc
nei form di arrivo gli recuperi nei valori(value) dei campi del form con
..... value="<?php echo JRequest::getVar('valore1','','get'); ?>" ...
ecc
-
Ottimo Vales,
funziona anche questo, solo che anziché passare i dati come sono stati inseriti trasforma gli spazi in + e la @ dell'email in %40, il che impedisce quindi al form di destinazione di supereare la validazione.
Ma ci stiamo avvicinando sempre più! Cosa si può fare per questo?
Grazie ancora!!
-
Ciao Vales,
scusa se ci ritorno...
Sai suggerirmi qualche soluzione per il problema dei caratteri speciali non passati nell'URL?
Grazie davvero!
-
Puoi inserire uno script php che trasforma i + in spazi e %40 in @.
Ci sono delle funzioni specifiche di php per la trasformazione di parti di stringhe in altre. Non dovrebbe essere difficile il ripristino.
-
Vales,
grazie infinite: una volta compilato lo script, lo inserisco in un Custom code che posiziono immediatamente prima di Redirect User (tra URL Redirect e Redirect User)? O c'è un'altra strada?
Grazie ancora!
-
No penso che lo scrip dovresti porlo nel form che riceve prima di show html, perchè è durant eil trasferimento che si sporca il codice.
-
Grazie,
allora provo e ti faccio sapere!
Un ringraziamento sentito!
-
Ciao, anche io avrei necessità di impostare un redirect dinamico in base a campo radio o menù a tendina a più form on line sul sito, ma sto usando chronoforms5 e essendo alle prime armi con questo componente non so dove battere la testa...ho impostato i valori del campo radio con i nomi del form come illustrato da Vales ma in chronoforms5 trovo solo la voce redirect e non so come impostarla...protreste aiutarmi?
-
Benvenuto nella comunità italiana di joomla antonio.ddm,
l'action redirect la imposti esattamente come detto sopra
inserendo nel campo URL
index.php
e nel campo Extra params
option=com_chronoforms5
chronoform={nome_campo_radio}
e puoi aggiungere gli altri campi del form se necessari, esempio
valore1={nome_campo1}
valore2={nome_campo2}
-
Ciao Vales,
grazie per la pronta risposta e per il benvenuto! :)
Preciso che è la prima volta che uso questo componente, ho provato ad impostare i parametri come da te consigliato ma ottengo un redirect sempre nella index del sito. Sicuramente ho sbagliato qualcosa...provo a postare i vari screenshot nella speranza di una delucidazione. Grazie per l'aiuto!
il file info1 = parametri del radio box
il file info2 = screenshot pannello setup
il file info3 = parametri del redirect
[allegato eliminato automaticamente dopo un anno]
-
la mia prima risposta non era esatta, l'action redirect va impostata diversamente così
inserendo nel campo URL http:// indirizzo tuo joomla /index.php?option=com_chronoform5
e nel campo Extra params
chronoform=nome_campo_radio o della dropdown
e puoi aggiungere gli altri campi del form se necessari, esempio
valore1=nome_campo1
valore2=nome_campo2
-
Grazie Vales! sei un mito!!!! ho provato il tutto e funziona perfettamente!
Ho dovuto fare solo una piccola correzione all'url mancava una "s" ( la posto nel caso ci siano altri principianti/testoni come me che necessitino della stessa dritta! )
http:// indirizzo tuo joomla /index.php?option=com_chronoform5
corretto:
http:// indirizzo tuo joomla /index.php?option=com_chronoforms5
Vales grazie, grazie, grazie ed ancora grazie!!!!!!!