Joomla.it Forum

Componenti per Joomla! => Gestione Form => : ele_ 03 Nov 2015, 14:27:55

: [RISOLTO] Chronoform Checkbox Javascript
: ele_ 03 Nov 2015, 14:27:55
Ciao a tutti, ho bisogno di un aiuto su un form realizzato con chronoform.
Ho un checkbox group con l'ultima voce un classico "Altro"
Sotto ho una textarea che di default è disabilitata, ma quando la check "Altro" è spuntata si deve abilitare?
Idee su come fare?


Grazie
: Re:Chronoform Checkbox Javascript
: vales 06 Nov 2015, 09:19:11
vai nella tab event del checkbox e metti questi parametri

On:  =
Value selected: il valore che hai dato alla check Altro
Action: Enable
Target field ID: id del campo textarea
: Re:Chronoform Checkbox Javascript
: ele_ 06 Nov 2015, 09:32:53
Grazie vales della risposta, ma così non funziona... Si abilita e disabilita quando vuole in base a se seleziono contemporaneamente più voci... Avevo già provato.
: Re:Chronoform Checkbox Javascript
: vales 06 Nov 2015, 12:49:32
Che avevi già provato non lo avevi detto. Comunque c'è un bug nel codice di chronoform.

Ho provato un'alternativa che sarebbe fare una check separata per Altro, ma funziona solo se la check Altro viene posta prima delle altre nel form e le viene assegnato lo stesso nome campo del checkgroup.

L'altra alternativa è definire un codice specifico in una funzione javascript che viene che viene chiamata dalle singole voci del gruppo e compie una verifica più precisa dello stato di Altro ed in base a questo agisce sulla textarea.
: Re:Chronoform Checkbox Javascript
: ele_ 06 Nov 2015, 13:52:38
Scusami vales, è che nel frattempo ho fatto vari test...
La seconda opzione è fattibile, oppure si necessita di conoscenze di programmazione?
: Re:Chronoform Checkbox Javascript
: vales 06 Nov 2015, 15:56:04
la seconda opzione funziona perfettamente

questa è la funzione che devi inserire in onload all'interno di un'action Load Javascript

:
function seleziona() {
if (document.getElementById("id_altro").checked) {
    document.getElementById("id_textarea").disabled = false;
    } else {
    document.getElementById("id_testarea").disabled = true;
    }
}

nel gruppo checkbox nel parametro Extra params devi mettere solo questo:

onclick=seleziona()

Per trovare l'ID del check Altro devi andare nella tab Code e nel codice generato individuare il valore id che il form ha assegnato all'input di Altro, dipende dal numero degli altri campi check utilizzati.

Ovviamenti devi azzerare tutti gli eventi attivati per il checkbox con le precedenti prove.

: Re:Chronoform Checkbox Javascript
: ele_ 06 Nov 2015, 17:18:54
Grazie mille vales, funziona!
: Re:[RISOLTO] Chronoform Checkbox Javascript
: angelocani 18 Nov 2015, 22:47:25
A me è capitato esattamente l'opposto: mi ha funzionato il primo metodo indicato da Vales, ma non sono stato capace di far funzionare il secondo. Possibile che la cosa sia dovuta all'impiego di jquery anziché di mootols?