Joomla.it Forum
Componenti per Joomla! => Gestione Form => : 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"> </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"> </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"> </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
-
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"> </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"> </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"> </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"> </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.
-
grazie vales
-
Metto io risolto.