Joomla.it Forum

Componenti per Joomla! => Gestione Form => : Giaxx 07 Nov 2010, 22:25:41

: [Risolto]form a geometria variabile
: Giaxx 07 Nov 2010, 22:25:41
ho realizzato un form a geometria variabile grazie all'aiuto di vales.con crhonoform.
questo è un esempio molto semplice: inserimento del nome o del cognome
Form HTML:
:
<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Inserire</label>
    <select class="cf_inputbox" id="select_0" size="1" title=""  name="inserimento" onChange="updatethis(this.form);">
    <option value="">Choose Option</option>
      <option value="nome">nome</option>
<option value="cognome">cognome</option>

    </select>
   
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div id="variabile" style="display: none;">

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">nome</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_3" name="nome" type="text" onChange="updatethis(this.form);" />
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>
</div>
<div id="variabile1" style="display: none;">
<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">cognome</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_4" name="cognome" type="text" onChange="updatethis(this.form);"/>
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

</div>

Form JavaScript:
:
function updatethis(form) {     
var tipo=form.elements['inserimento'].value;   
   
if (tipo=="nome") {           
document.getElementById("variabile").style.display = 'block';           
} else {           
document.getElementById("variabile").style.display = 'none';            form.elements['nome'].value;         
}
if (tipo=="cognome") {           
document.getElementById("variabile1").style.display = 'block';           
} else {           
document.getElementById("variabile1").style.display = 'none';            form.elements['cognome'].value;         
}

}

ora il mio problema è creare l'Emails Templates:
ho messo:
:
Inserimento: {inserimento}
nome inserito: {nome}
cognome inserito: {cognome}
 
vorrei che comparisse o il nome o il cognome in base alla scelta dell'inserimento.

grazie
: Re:form a geometria variabile
: vales 08 Nov 2010, 00:20:08
Ho inserito alcune modifiche:

Form HTML ho aggiunto il tasto submit

:
<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Inserire</label>
    <select class="cf_inputbox" id="select_0" size="1" title=""  name="inserimento" onChange="updatethis(this.form);">
    <option value="">Choose Option</option>
      <option value="nome">nome</option>
<option value="cognome">cognome</option>

    </select>
   
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div id="variabile" style="display: none;">

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">nome</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_3" name="nome" type="text" onChange="updatethis(this.form);" />
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>
</div>
<div id="variabile1" style="display: none;">
<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 150px;">cognome</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_4" name="cognome" type="text" onChange="updatethis(this.form);"/>
 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

</div>

<div class="form_item">
  <div class="form_element cf_button">
    <input value="Submit" name="button_5" type="submit" />
  </div>
  <div class="cfclear">&nbsp;</div>
</div>


Form Javascript ho aggiunto l'assegnazione del valore nullo quando nome o cognome non sono selezionati.

:
function updatethis(form) {     
var tipo=form.elements['inserimento'].value;   
   
if (tipo=="nome") {           
document.getElementById("variabile").style.display = 'block';           
} else {           
document.getElementById("variabile").style.display = 'none';
form.elements['nome'].value="";         
}
if (tipo=="cognome") {           
document.getElementById("variabile1").style.display = 'block';           
} else {           
document.getElementById("variabile1").style.display = 'none';            form.elements['cognome'].value="";         
}

}

Template email ho inserito il codice php per selezionare i testi da visualizzare.

:
<p><code class="bbc_code">Inserimento: {inserimento} <br />
<?php if (JRequest::getVar('nome','','post')<>'') { ?>
nome inserito: {nome} <br />
<?php 
if (
JRequest::getVar('cognome','','post')<>'') { ?>

cognome inserito: {cognome}</code></p>
<?php ?>

Ovviamente ho attivato l'invio dell'email e l'ho configurata in Setup emails.

Per poter inserire il codice php nel template email ho disabilitato l'editor nel tendina grigia che si apre quando si opera in Setup email.

Verificato e funziona tutto.

: Re:form a geometria variabile
: Giaxx 10 Nov 2010, 11:17:02
grazie vales
: Re:form a geometria variabile
: vales 10 Nov 2010, 15:25:02
Metto io risolto.