Joomla.it Forum
Componenti per Joomla! => Gestione Form => : van84 04 Jul 2010, 18:11:07
-
Oi ciao ragazzi, non so come fare per sistemare questa cosa, spero possiate darmi na mano: ho creato un form che contiene tre campi select per selezionare giorno, mese e anno e l'ho impostato in modo che parta sempre dalla data del giorno dopo a quello odierno (questa costruzione grammaticale non mi convince..!! :o); funziona tutto perfettamente, l'unico problema che ho è che ho impostato il campo dei giorni con valori fino a 31, e vorrei quindi sapere come posso procedere per far si che per i mesi che hanno meno giorni il campo dei giorni mostri la scelta solo fino al 30 o al 28 appunto.
Spero di essermi spiegato chiaramente!
Qualcuno sa come posso fare? Ciao
-
potresti creare 4 drop down che terminano con 28 29 30 31 e in base alla scelta del mese visualizzi il drop_giorni. Ricorda di impostare il controllo di febbraio sull'anno.
-
Suggerisco di usare del codice php per popolare la dropdown che in funzione del mese di ferma al numero giusto.
-
Vi ringrazio inanto per avermi risposto, documentandomi sia in merito ai 4 dropdown cheall'opzione di popolare i dropdown attraverso php ho trovato anche che si può fare uno script di controllo che verifichi la correttezza della data, così ora ho tre possibilità e essendo un utente base praticament base di php e niubbissimo di javascript non saprei quale scegliere. Continuerò a cercare e proverò a scrivere il codice che mi sembra più fattibile. Aggiorno il post appena riesco a risolvere qualcosa.
Ciao grazie ancora
-
http://forum.joomla.it/index.php/topic,99125.0.html. questo è un link che ti potrebbe servire.....
-
Ciao ragazzi, purtroppo dopo giorni di smanettamento ancora niente, purtroppo con js sono proprio ignorante, ho provato in tutti i modi sia a creare un codice di controllo della data (ma credo di sbagliare proprio a livello di comandi), che a modificare il codice che allego (è l'originale: ho provato a modificarlo a logica in vari punti ma non ottengo niente; non capisco come faccio ad impostare vari campi a comparsa, che a seconda dell'opzione scelta nel primo dropdown ne visualizzino uno indicato..), ma niente >:(. Io proseguo fino a che non riesco a fare questa cosa perchè mi serve assolutamente, se intanto qualcuno ha dei suggerimenti ulteriori bene, altrimenti aggiorni il post a operazione riuscita.
Ciao
[allegato vecchio più di un anno eliminato automaticamente]
-
Prova un po' se questo codice ti risolve qualcosa.
<?php
$giorni_mese=date("t");
$oggi=date("j");
$anno=date("Y");
// se oggi è l'ultimo del mese incrementa il mese
if ($oggi==$giorni_mese) {
$mese=date("n")+1;
}else{
$mese=date("n");
}
// se oggi è l'ultimo dell'anno
if ($oggi==$giorni_mese && date("n")==12) {
$mese=1;
$anno=date("Y")+1;
}
?>
<div class="form_item">
<div class="form_element cf_multiholder" style="margin-left:0px!important;">
<label class="cf_label" style="width: 150px;">Data</label>
<table cellspacing="0" cellpadding="0" width="95%" title="" class="multi_container">
<tbody width="100%">
<tr width="100%">
<td style="width: auto; vertical-align: middle; text-align: left;">
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 150px;">giorno</label>
<select class="cf_inputbox validate-selection" id="select_4" size="1" title="" name="giorno">
<?php
for ($i = 1; $i <= $giorni_mese; $i++) {
if (($oggi+1)==$i) {
echo "<option value=\"".$i."\" selected='selected' >".$i."</option>";
}else{
echo "<option value=\"".$i."\">".$i."</option>";
}
}
?>
</select>
</div>
<div class="cfclear"> </div>
</div>
</td>
<td style="width: auto; vertical-align: middle; text-align: left;">
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 150px;">mese</label>
<select class="cf_inputbox validate-selection" id="select_5" size="1" title="" name="mese">
<option value="1" <?php if ($mese==1){echo "selected='selected'";} ?>>Gennaio</option>
<option value="2" <?php if ($mese==2){echo "selected='selected'";} ?>>Febbraio</option>ù<option value="" <?php if ($mese==1){echo "selected='selected'";} ?>>Gennaio</option>
<option value="3" <?php if ($mese==3){echo "selected='selected'";} ?>>Marzo</option>
<option value="4" <?php if ($mese==4){echo "selected='selected'";} ?>>Aprile</option>
<option value="5" <?php if ($mese==5){echo "selected='selected'";} ?>>Maggio</option>
<option value="6" <?php if ($mese==6){echo "selected='selected'";} ?>>Giugno</option>
<option value="7" <?php if ($mese==7){echo "selected='selected'";} ?>>Luglio</option>
<option value="8" <?php if ($mese==8){echo "selected='selected'";} ?>>Agosto</option>
<option value="9" <?php if ($mese==9){echo "selected='selected'";} ?>>Settembre</option>
<option value="10" <?php if ($mese==10){echo "selected='selected'";} ?>>Ottobre</option>
<option value="11" <?php if ($mese==11){echo "selected='selected'";} ?>>Novembre</option>
<option value="12" <?php if ($mese==12){echo "selected='selected'";} ?>>Dicembre</option>
</select>
</div>
<div class="cfclear"> </div>
</div>
</td>
<td style="width: auto; vertical-align: middle; text-align: left;">
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 150px;">anno</label>
<select class="cf_inputbox validate-selection" id="select_6" size="1" title="" name="anno">
<?php
for ($i = -5; $i <= 5; $i++) {
if (($anno+$i)==$anno) {
echo "<option value=\"".($anno+$i)."\" selected='selected' >".($anno+$i)."</option>";
}else{
echo "<option value=\"".($anno+$i)."\">".($anno+$i)."</option>";
}
}
?>
</select>
</div>
<div class="cfclear"> </div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="cfclear"> </div>
</div>