Back to top

Autore Topic: Chronoform - abilitare campi text box  (Letto 5180 volte)

Offline rity

  • Nuovo arrivato
  • *
  • Post: 19
    • Mostra profilo
Chronoform - abilitare campi text box
« il: 13 Mar 2013, 21:20:18 »

Ciao a tutti.
utilizzo la versione 4.0 RC3.5.2 di ChronoForm e la 2.5.9 di joomla
dovrei fare un controllo su un box di testo..
come faccio ad abilitare i text box "azienda" e "località" (precedentemente disabilitati) se l'utente non ha compilato il precedente text box "sito"?   
Grazie!

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoform - abilitare campi text box
« Risposta #1 il: 14 Mar 2013, 23:07:06 »
Devi usare delle funzioni javascript che controllano la presenza di valori in "sito" al verificarsi di un certo evento es. un campo obbligatorio inserito dopo il campo "sito".

Qui nel forum ci sono esempi di uso del javascript in questa modalità
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 rity

  • Nuovo arrivato
  • *
  • Post: 19
    • Mostra profilo
Re:Chronoform - abilitare campi text box
« Risposta #2 il: 14 Mar 2013, 23:43:57 »
Grazie Vales della risposta.
Gentilissimo come sempre!

purtroppo non sono molto pratica di javascript  :( 
spero di riuscire a risolvere il mio problema in caso contrario penso ci sentiremo presto..  ;)
« Ultima modifica: 14 Mar 2013, 23:46:37 da rity »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
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 rity

  • Nuovo arrivato
  • *
  • Post: 19
    • Mostra profilo
Re:Chronoform - abilitare campi text box
« Risposta #4 il: 27 Mar 2013, 16:37:41 »
Ciao Vales,
grazie dei link sono stati molto utili. Mi hanno permesso di risolvere il mio problema.
Quindi questo topic è risolto.

Ne approfitto per chiederti un altro favore..
Ho un altro problemino da risolvere sempre con javascript..
Ho utilizzato la stessa tecnica che ho usato per i text box anche per i menù a tendina e tutto funziona correttamente mentre se la utilizzo per i checkboxes non funziona. Potresti dirmi dove sbaglio?


ti posto i codici..

HTML:

Codice: [Seleziona]
<div class="ccms_form_element cfdiv_header" id="1_container_div" style=""><p style="font-family: 'Ubuntu', sans-serif; line-height: 32px; font-size: 29px;">120" spesi bene!<br />Configurare la tua richiesta ci permette<br />di risponderti velocemente e con la massima<br />precisione possibile. Pertanto dicci:</p><br /><div class="clear"><><><div class="ccms_form_element cfdiv_header" id="2_container_div" style=""><p style="font-family: 'Ubuntu', sans-serif; font-weight: bold; font-size: 30px; letter-spacing: -1.5px;">COSA FAI:</p><br /><div class="clear"><><><div class="ccms_form_element cfdiv_text" id="sito_social1_container_div" style=""><label>Sito e/o Social</label><input maxlength="150" size="30" class=" validate['alphanum']" title="" type="text" value="" name="sito_social" onChange="updatethis(this.form);" />
<div class="clear"><><div id="error-message-sito_social"><><><div class="ccms_form_element cfdiv_select multiline_start" id="settore1_container_div" style=""><label>*Settore merceologico</label><select size="1" class=" validate['required']" title="" name="settore" onChange="updatethis(this.form);">
<option value="">Seleziona..</option>
<option value="servizi">Servizi</option>
<option value="prodotti">Prodotti</option>
</select>
<div class="clear"><><div id="error-message-settore"><><>
<div id="var2" style="display: none;">
<div class="ccms_form_element cfdiv_select multiline_add" id="servizi1_container_div" style=""><label style="display:none;">Servizi</label><select size="1" class=" validate['required']" title="" name="servizi">
<option value="">Seleziona..</option>
<option value="assicurazioni">Assicurazioni</option>
<option value="alberghi">Alberghi</option>
<option value="energia">Energia</option>
<option value="finanza">Finanza</option>
<option value="immobiliare">Immobiliare</option>
<option value="informatica">Informatica</option>
<option value="istituzioni">Istituzioni</option>
<option value="legale">Legale</option>
<option value="pulizia">Pulizia</option>
<option value="sanita">Sanità</option>
<option value="telefonia">Telefonia</option>
</select>
<div class="clear"><><div id="error-message-servizi"><><><>
<div id="var3" style="display: none;">
<div class="ccms_form_element cfdiv_select multiline_add" id="prodotti1_container_div" style=""><label style="display:none;">Prodotti</label><select size="1" class=" validate['required']" title="" name="prodotti">
<option value="">Seleziona..</option>
<option value="abbigliamento,calzature,pellicceria,accessori">Abbigliamento,calzature,pellicceria,accessori</option>
<option value="agricoltura,zootecnica,florovivaismo,pesca">Agricoltura,zootecnica,florovivaismo,pesca</option>
<option value="alimenti,bevande">Alimenti,bevande</option>
<option value="arte,antiquariato,filatelia e numismatica">Arte,antiquariato,filatelia e numismatica</option>
<option value="articoli_per_la_casa">Articoli per la casa</option>
<option value="articoli_per_la_persona">Articoli per la persona</option>
<option value="articoli_per_il_lavoro">Articoli per il lavoro</option>
<option value="editoria,stampe_e_grafica">Editoria,stampe e grafica</option>
<option value="elettronica,fotografia,computer,elettrodomestici">Elettronica,fotografia,computer,elettrodomestici</option>
<option value="industria,macchinari,tecnologie">Industria,macchinari,tecnologie</option>
<option value="nautica_e_cantieristica">Nautica e cantieristica</option>
<option value="oreficeria,orologeria,gioielleria">Oreficeria,orologeria,gioielleria</option>
<option value="sport,tempo_libero_e_giochi">Sport,tempo libero e giochi</option>
<option value="strumenti ed attrezzature musicali">Strumenti ed attrezzature musicali</option>
<option value="turismo,cultura,musei">Turismo,cultura,musei</option>
<option value="veicoli,cicli/motocicli,trasporto">Veicoli,cicli/motocicli,trasporto</option>
</select>
<div class="clear"><><div id="error-message-prodotti"><><><>
<div class="ccms_form_element cfdiv_header" id="3_container_div" style=""><p style="font-family: 'Ubuntu', sans-serif; font-weight: bold; font-size: 30px; letter-spacing: -1.5px; padding-top: 23px;">CHI SEI:</p><br /><div class="clear"><><><div class="ccms_form_element cfdiv_text" id="nome_cognome1_container_div" style=""><label>*Nome Cognome</label><input maxlength="150" size="30" class=" validate['required','alphanum']" title="" type="text" value="" name="nome_cognome" onChange="updatethis(this.form);" />
<div class="clear"><><div id="error-message-nome_cognome"><><>
<div id="var1" style="display: none;">
<div class="ccms_form_element cfdiv_text" id="azienda1_container_div" style=""><label>*Azienda</label><input maxlength="150" size="30" class=" validate['required']" title="" type="text" value="" name="azienda" />
<div class="clear"><><div id="error-message-azienda"><><><div class="ccms_form_element cfdiv_text" id="localita1_container_div" style=""><label>*Località</label><input maxlength="150" size="30" class=" validate['required','alphanum']" title="" type="text" value="" name="localita" />
<div class="clear"><><div id="error-message-localita"><><>
<>
<div class="ccms_form_element cfdiv_header" id="4_container_div" style=""><p style="font-family: 'Ubuntu', sans-serif; font-weight: bold; font-size: 30px; letter-spacing: -1.5px; margin-top: 23px;">COSA TI SERVE</p><br /><div class="clear"><><><div class="ccms_form_element cfdiv_checkboxgroup radios_over" id="cosa_serve1_container_div" style=""><label style="display:none;">*Cosa ti serve</label><input type="hidden" name="cosa_serve" value="" alt="ghost" onChange="updatethis(this.form);" />
<div style="float:left; width:680px; clear:none;"><input type="checkbox" name="cosa_serve[]" id="cosa_serve_0" title="" value="affissione_statica" class="validate['group[12]']" />
<label for="cosa_serve_0"><b>Affissione Statica:</b> </label><div style="float:left;">Cartellonistica, segnaletica stradale, pensiline autobus, arredo urbano, maxi impianti murali, totem, cavalletti stradali, plance, stendardi, cabine telefoniche, gonfaloni, targhe palo, teli grandi formati, totem multimediali, wideowall digitali.<p></p><>&nbsp;
<div id="var4" style="display: none;"><div class="ccms_form_element cfdiv_radio" id="tempo_affissione_statica1_container_div" style=""><div style="float:left;"><label style="display:none;">*Tempo affissione statica</label><input type="hidden" name="tempo_affissione_statica" value="" alt="ghost" />
<div style="float:left; clear:none;"><input type="radio" name="tempo_affissione_statica" id="tempo_affissione_statica_0" title="" value="temporanea" class="validate['required']" />
<label for="tempo_affissione_statica_0">Temporanea</label><>
<div style="float:left;"><input type="radio" name="tempo_affissione_statica" id="tempo_affissione_statica_1" title="" value="permanente" class="validate['required']" />
<label for="tempo_affissione_statica_1">Permanente</label><p></p><>
<><div class="clear"><><div id="error-message-tempo_affissione_statica"><><><>&nbsp;
<input type="checkbox" name="cosa_serve[]" id="cosa_serve_1" title="" value="affissione_dinamica" class="validate['group[12]']" />
<label for="cosa_serve_1"><b>Affissione Dinamica:</b> </label><div style="float:left;">Mezzi pubblici, camion vela, carrelli appendice, automezzi con speciali allestimenti (caravan, track, etc.), mini car (Smart), scooter, velocipedi (Citymouse, biciclette pedalata assistita), battelli, traghetti, mongolfiere / dirigibili, aerei, auto/moto gare sportive.<p></p><>&nbsp;
<div id="var5" style="display: none;"><div class="ccms_form_element cfdiv_radio" id="tempo_affissione_dinamica1_container_div" style=""><div style="float:left;"><label style="display:none;">* Tempo affissione dinamica</label><input type="hidden" name="tempo_affissione_dinamica" value="" alt="ghost" />
<div style="float:left; clear:none;"><input type="radio" name="tempo_affissione_dinamica" id="tempo_affissione_dinamica_0" title="" value="temporanea" class="" />
<label for="tempo_affissione_dinamica_0">Temporanea</label><>
<div style="float:left;"><input type="radio" name="tempo_affissione_dinamica" id="tempo_affissione_dinamica_1" title="" value="permanente" class="" />
<label for="tempo_affissione_dinamica_1">Permanente</label><p></p><>
<><div class="clear"><><div id="error-message-tempo_affissione_dinamica"><><><>&nbsp;
<input type="checkbox" name="cosa_serve[]" id="cosa_serve_2" title="" value="visual_merchandising" class="validate['group[12]']" />
<label for="cosa_serve_2"><b>Visual merchandising:</b> </label><div style="float:left;">Insegne statiche, luminose, digitali, pellicole speciali per vetrofanie e pavimentazioni, pop, roll-up, espositori in cartotecnica o alluminio. <b>Sensori di prossimità e rilevatori di fisionomia</b> (proiezione banner istantanei personalizabili) su vetrina. <b>Stand espositivi</b>, isole promozionali, desk, totem, backdrop, allestimenti negozi / uffici / centri commerciali / fiere / expo / road show etc.<p></p><>
<input type="checkbox" name="cosa_serve[]" id="cosa_serve_3" title="" value="web_marketing" class="validate['group[12]']" />
<label for="cosa_serve_3"><b>Web marketing:</b> </label><div style="float:left;">Siti, portali, e-commerce, SEM, SEO, SERP, AdSense, PPC, spider, log, tag, link, pagerank, landing page, SMO (social media optimization), sistemi integrati di business intelligence (AdWords, SeoQuake, SemRush, etc.), Community / Content Manager (branding, auditing, gestione contenuti, direct email marketing, etc.).<p></p><>
<input type="checkbox" name="cosa_serve[]" id="cosa_serve_4" title="" value="mass_media" class="validate['group[12]']" />
<label for="cosa_serve_4"><b>Mass media:</b> </label><div style="float:left;">Spazi pubblicitari su web, tv nazionale generalista, canali tematici su DGTV, tv regionali (slot televisivi e spot / telepromozioni con sconti fino al 70%), radio nazionale / locale, cinema, magazine, local press.<p></p><>
<input type="checkbox" name="cosa_serve[]" id="cosa_serve_5" title="" value="street_marketing" class="validate['group[12]']" />
<label for="cosa_serve_5"><b>Street marketing:</b> </label><div style="float:left;">Creatività, comunicazione. Volantinaggio, sampling – d-mrk, hand-to-hand, car-to-car, velocipedi brandizzati (City Mouse) - a diffusione certificata, con sistema di rilevazione GPS e shooting fotografico.<p></p><>
<input type="checkbox" name="cosa_serve[]" id="cosa_serve_6" title="" value="sponsorship_eventi" class="validate['group[12]']" />
<label for="cosa_serve_6"><b>Sponsorship/eventi (Italia/Estero):</b> </label><div style="float:left;"><b>Sport:</b> MotoGp (+ iniziative rivolte a clienti, direttamente sulla pista con il coinvolgendo di personaggi noti, piloti, umbrellina girls), calcio, atletica, scherma, nautica, sport regionali. <b>Lifestyle:</b> concorsi bellezza, sfilate moda, concorsi canori. <b>Spettacolo:</b> ginnasti / funamboli, acrobazie auto / moto. <b>Testimonial:</b> provenienti da sport, tv, cinema, musica. <b>Creatività:</b> sviluppo di un piano di comunicazione strategico, studio del design, cura del brand e dell’immagine del soggetto. <b>Direzione artistica:</b> intrattenimento, scelta e cura dei Testimonial. <b>Produzione esecutiva:</b> scelta e direzione dei services (audio / video; strutture; allestimenti; ristorazione; hospitality). <b>Press:</b> relazione e divulgazione tramite ufficio stampa, p.r., web, press, tv.<p></p><>
<input type="checkbox" name="cosa_serve[]" id="cosa_serve_7" title="" value="spazi_espositivi_expo" class="validate['group[12]']" />
<label for="cosa_serve_7"><b>Spazi espositivi temporanei:</b> </label><div style="float:left;">Instore promotions / Temporary Shop in: Centri commerciali, Fiere, Expò, Centri urbani, Parchi divertimenti, Località di villeggiatura, Congressi.<p></p><>
<input type="checkbox" name="cosa_serve[]" id="cosa_serve_8" title="" value="loyalty" class="validate['group[12]']" />
<label for="cosa_serve_8"><b>Loyalty:</b> </label><div style="float:left;">Piano triennale di fidelity card con break event garantito entro un anno  (con 3 possibili proiezioni di performance pessimistica-media-ottimale), consulenza fiscale, pratiche ministeriali, software d’integrazione ai sistemi cassa e lettori ottici. Gestione back-end di: dati personali, punti, premi. Gestione front-end (sito internet con applicativi), hardware, produzione card, monte premi, pop/leaflet/etc.<p></p><>
<><div class="clear"><><div id="error-message-cosa_serve"><><><div class="ccms_form_element cfdiv_checkboxgroup" id="dove1_container_div" style=""><label>*Dove ti serve</label><input type="hidden" name="dove" value="" alt="ghost" onChange="updatethis(this.form);" />
<div style="float:left; clear:none;"><input type="checkbox" name="dove[]" id="dove_0" title="" value="provincia" class="validate['group[14]']" />
<label for="dove_0">Provincia</label>
<input type="checkbox" name="dove[]" id="dove_1" title="" value="regione" class="validate['group[14]']" />
<label for="dove_1">Regione</label>
<input type="checkbox" name="dove[]" id="dove_2" title="" value="nazione" class="validate['group[14]']" />
<label for="dove_2">Nazione</label>
<><div class="clear"><><div id="error-message-dove"><><><div class="ccms_form_element cfdiv_textarea" id="note1_container_div" style=""><label>Note aggiuntive</label><textarea cols="45" rows="6" class="" title="" name="note"></textarea>
<div class="clear"><><div id="error-message-note"><><><div class="ccms_form_element cfdiv_header" id="5_container_div" style=""><p style="font-family: 'Ubuntu', sans-serif; font-weight: bold; font-size: 30px; letter-spacing: -1.5px; margin-top: 23px;">PARLIAMOCI:</p><br /><div class="clear"><><><div class="ccms_form_element cfdiv_text" id="email1_container_div" style=""><label>*E-mail</label><input maxlength="150" size="30" class=" validate['required','email']" title="" type="text" value="" name="email" />
<div class="clear"><><div id="error-message-email"><><><div class="ccms_form_element cfdiv_text" id="verifica_email1_container_div" style=""><label>* Verifica E-mail</label><input maxlength="150" size="30" class=" validate['required','email']" title="" type="text" value="" name="verifica_email" />
<div class="clear"><><div id="error-message-verifica_email"><><><div class="ccms_form_element cfdiv_text" id="cellulare_skype1_container_div" style=""><label>*Cellulare e/o Skype</label><input maxlength="150" size="30" class=" validate['required']" title="" type="text" value="" name="cellulare_skype" />
<div class="clear"><><div id="error-message-cellulare_skype"><><><div class="ccms_form_element cfdiv_checkbox" id="trattamento_dati1_container_div" style=""><input type="hidden" name="trattamento_dati" value="" alt="ghost" />
<input checked="checked" value="1" title="" type="checkbox" class="validate['required'] label_right" name="trattamento_dati" id="trattamento_dati" />
<label for="trattamento_dati" class="full_label">*Autorizzo al trattamento dei dati personali</label><div class="clear"><><div id="error-message-trattamento_dati"><><><div class="ccms_form_element cfdiv_text" id="chrono_verification1_container_div" style=""><label>Codice di verifica</label><input maxlength="5" size="5" class="chrono_captcha_input validate['required']" title="" type="text" value="" name="chrono_verification" />
{chronocaptcha_img}<div class="clear"><><div id="error-message-chrono_verification"><><><div class="ccms_form_element cfdiv_submit" id="invia_email1_container_div" style="text-align:left"><input type='reset' name='reset' value='RESET' />&nbsp;<input name="invia_email" class="" value="INVIA!" type="submit" />
<div class="clear"><><div id="error-message-invia_email"><><>


JAVASCRIPT:

Codice: [Seleziona]
function updatethis(form) {
   
var sito=form.elements['sito_social'].value;
var settore=form.elements['settore'].value;
var serve=form.elements['cosa_serve'].value;


if (sito=="") {
            document.getElementById("var1").style.display = 'block';
            } else {
            document.getElementById("var1").style.display = 'none';
            }


if (settore=="servizi") {
            document.getElementById("var2").style.display = 'block';
            } else {
            document.getElementById("var2").style.display = 'none';
            }


if (settore=="prodotti") {
            document.getElementById("var3").style.display = 'block';
            } else {
            document.getElementById("var3").style.display = 'none';
            }


if (settore=="prodotti") {
            document.getElementById("var3").style.display = 'block';
            } else {
            document.getElementById("var3").style.display = 'none';
            }


if (serve=="affissione_statica") {
            document.getElementById("var4").style.display = 'block';
            } else {
            document.getElementById("var4").style.display = 'none';
            }


if (serve=="affissione_dinamica") {
            document.getElementById("var5").style.display = 'block';
            } else {
            document.getElementById("var5").style.display = 'none';
            }
}

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoform - abilitare campi text box
« Risposta #5 il: 27 Mar 2013, 19:41:48 »
Non mi sembra che hai applicato l'evento onchange agli input checkbox.

Ne ho visti due invece ad input hidden che non saranno mai attivati.
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 rity

  • Nuovo arrivato
  • *
  • Post: 19
    • Mostra profilo
Re:Chronoform - abilitare campi text box
« Risposta #6 il: 28 Mar 2013, 19:50:51 »
ciao Vales,
ho applicato l'evento onchange agli input checkbox (per essere sicura a tutti) ma il risultato non cambia.
L'ho lasciato su <input type="hidden" name="cosa_serve" value="" alt="ghost" onChange="updatethis(this.form);" /> perchè cosi posso definire la variabile "cosa_serve" nel javascript.

Mi chiedevo se il problema non derivasse dal javascript. Magari devo utilizzare un altra "formula" per richiamare i checkbox.
« Ultima modifica: 05 Apr 2013, 12:04:03 da rity »

Offline rity

  • Nuovo arrivato
  • *
  • Post: 19
    • Mostra profilo
Re:Chronoform - abilitare campi text box
« Risposta #7 il: 05 Apr 2013, 13:40:41 »
Ho risolto inserendo l'evento onclick agli input checkbox. Non credo sia la soluzione ottimale ma fa il suo lavoro. Ho richiamato la funzione aff1 con onclick nell'input checkbox <input type="checkbox" name="cosa_serve[]" id="cosa_serve_0" title="" value="affissione_statica" class="validate['group[12]']" onClick="aff1(this)" />. Questo è il codice javascript che ho utilizzato:

Codice: [Seleziona]
function aff1(elemento) {


if (elemento.checked) {
            document.getElementById("var4").style.display = 'block';
            } else {
            document.getElementById("var4").style.display = 'none';
            }
}

Lo stesso procedimento l'ho utilizzato per il secondo checkbox e tutto funziona alla grande.  :)
« Ultima modifica: 12 Apr 2013, 18:24:30 da rity »

Offline rity

  • Nuovo arrivato
  • *
  • Post: 19
    • Mostra profilo
Re:Chronoform - abilitare campi text box
« Risposta #8 il: 12 Apr 2013, 18:24:54 »
Ho un altro piccolo problema da risolvere...
Ho notato che mettendo i campi obbligatori nascosti si crea un problema nel form. Compare il messaggio di avviso (Questo campo è obbligatorio.) e non va più via. Ho provato a compilare tutti i campi, anche quelli nascosti, ma il problema rimane e non mi permette di inviare i dati.
Come soluzione ho pensato di togliere ai campi nascosti il "required" e di inserire un alert all'interno del javascript. Ho inserito un if appena sotto il "block" ma non funziona forse perchè ho messo il codice sbagliato. Mi potreste dare una dritta? cosa dovrei scrivere nel javascript per rendere un campo nascosto visibile e nello stesso tempo obbligatorio?

 



Web Design Bolzano Kreatif