Birthday Script
Moderatori: Zamolxe, Moderatori
Birthday Script
Salut,
am 3 campuri. 1 zi de nastere, 2 dropdown cu lunile anului, si 3 casuta unde bag anul.
Vreau sa le transform pe toate in dropdownuri pentru a evita ... "sa nascut in anul 3053" ... de exemplu.
Problema e urmatoarea:
Cum fac ca in dropdown-ul de "ZI" sa vada ce luna e, si in functie de luna acceea sa modifice numarul total de zile. 30,31, 28/29 daca e februarie.
am 3 campuri. 1 zi de nastere, 2 dropdown cu lunile anului, si 3 casuta unde bag anul.
Vreau sa le transform pe toate in dropdownuri pentru a evita ... "sa nascut in anul 3053" ... de exemplu.
Problema e urmatoarea:
Cum fac ca in dropdown-ul de "ZI" sa vada ce luna e, si in functie de luna acceea sa modifice numarul total de zile. 30,31, 28/29 daca e februarie.
PET - Vesnicul n00b al acestui forum 
- vectorialpx
- Senior Member
- Mesaje: 4832
- Membru din: Mar Mar 01, 2005 9:48 am
- Localitate: Bucuresti
- Contact:
pentru a verifica inainte... faci checkdate...
pentru a selecta faci cam asa:
<select name="functie" id="functie">
<option value="" <?php if($profil['functie'] == '') print "selected"; ?>> alegeti functia </option>
<option value="director" <?php if($profil['functie'] == 'director') print " selected"; ?>>diretor</option>
<option value="profesor" <?php if($profil['functie'] == 'profesor') print " selected"; ?>>profesor</option>
<option value="elev"<?php if($profil['functie'] == 'elev') print " selected"; ?>>elev</option>
</select>
pricepi... verifici la fiecare si scrii selected... daca da... daca nu... nu se scrie nimic !
pentru a selecta faci cam asa:
<select name="functie" id="functie">
<option value="" <?php if($profil['functie'] == '') print "selected"; ?>> alegeti functia </option>
<option value="director" <?php if($profil['functie'] == 'director') print " selected"; ?>>diretor</option>
<option value="profesor" <?php if($profil['functie'] == 'profesor') print " selected"; ?>>profesor</option>
<option value="elev"<?php if($profil['functie'] == 'elev') print " selected"; ?>>elev</option>
</select>
pricepi... verifici la fiecare si scrii selected... daca da... daca nu... nu se scrie nimic !
-
ciprianorha
- New Member
- Mesaje: 1
- Membru din: Joi Sep 21, 2006 4:26 pm
<script language="JavaScript">
function checkDate()
{
var _zi = document.getElementById('zi').options[document.getElementById('zi').selectedIndex].value;
var _luna = document.getElementById('luna').options[document.getElementById('luna').selectedIndex].value;
var _an = document.getElementById('an').options[document.getElementById('an').selectedIndex].value;
var bisect = false
if(_an%4==0)
{
bisect= true;
}
switch(parseInt(_luna))
{
// februarie
case 2:
if(bisect)
{
if(_zi > 28)
{
alert ('Data incorecta');
}
}
else
{
if(_zi > 29)
{
alert ('Data incorecta');
}
}
break;
// lunile cu 30
case 4 :
case 6 :
case 9 :
case 11:
if(_zi > 30)
{
alert ('Data Incorecta')
}
break;
}
}
</script>
<?$crt_date=getdate();?>
<select onchange="javascript:checkDate();" id="zi" name="day">
<? for($zi=1;$zi<=31;$zi++)
{?>
<option value="<?strlen($zi)< 2 ? print "0".$zi : print $zi?>"<?if($zi==$day) print" selected"?>><?strlen($zi)< 2 ? print "0".$zi : print $zi?></option>
<? }?>
</select><select onchange="javascript:checkDate();" id="luna" name="month">
<? for($luna=1;$luna<=12;$luna++)
{?>
<option value="<?strlen($luna)< 2 ? print "0".$luna : print $luna?>"<?if($luna==$month) print" selected"?>><?strlen($luna)< 2 ? print "0".$luna : print $luna?></option>
<? }?>
</select><select onchange="javascript:checkDate();" id="an" name="year">
<? for($an=1950;$an <= $crt_date['year'];$an++)
{?>
<option value="<?print $an?>"<?if($an==$year) print" selected"?>><?print $an?></option>
<? }?>
</select>
function checkDate()
{
var _zi = document.getElementById('zi').options[document.getElementById('zi').selectedIndex].value;
var _luna = document.getElementById('luna').options[document.getElementById('luna').selectedIndex].value;
var _an = document.getElementById('an').options[document.getElementById('an').selectedIndex].value;
var bisect = false
if(_an%4==0)
{
bisect= true;
}
switch(parseInt(_luna))
{
// februarie
case 2:
if(bisect)
{
if(_zi > 28)
{
alert ('Data incorecta');
}
}
else
{
if(_zi > 29)
{
alert ('Data incorecta');
}
}
break;
// lunile cu 30
case 4 :
case 6 :
case 9 :
case 11:
if(_zi > 30)
{
alert ('Data Incorecta')
}
break;
}
}
</script>
<?$crt_date=getdate();?>
<select onchange="javascript:checkDate();" id="zi" name="day">
<? for($zi=1;$zi<=31;$zi++)
{?>
<option value="<?strlen($zi)< 2 ? print "0".$zi : print $zi?>"<?if($zi==$day) print" selected"?>><?strlen($zi)< 2 ? print "0".$zi : print $zi?></option>
<? }?>
</select><select onchange="javascript:checkDate();" id="luna" name="month">
<? for($luna=1;$luna<=12;$luna++)
{?>
<option value="<?strlen($luna)< 2 ? print "0".$luna : print $luna?>"<?if($luna==$month) print" selected"?>><?strlen($luna)< 2 ? print "0".$luna : print $luna?></option>
<? }?>
</select><select onchange="javascript:checkDate();" id="an" name="year">
<? for($an=1950;$an <= $crt_date['year'];$an++)
{?>
<option value="<?print $an?>"<?if($an==$year) print" selected"?>><?print $an?></option>
<? }?>
</select>
-
johnny
- Senior Member
- Mesaje: 904
- Membru din: Sâm Iul 31, 2004 12:22 pm
- Localitate: Bucuresti
- Contact:
1. De ce trebuie sa fie selecturi si nu un
?
E similar cu rusii care nu au dezvoltat un pix care sa scrie in spatiu, ci au luat un creion...
2. Toate variantele postate mai sus sunt gresite, din 2 ratiuni, in principal:
- verificarea de an bisect lipseste sau e eronata
- nu functioneaza cross-browser
@octavian
ce faci daca ai 1.000 de optiuni in select? scrii 1000 de linii de cod?
ori esti geniu in regexp ori chiar scrii liniile alea de cod.
@nota personala
Doamne, cat a scazut forumul asta...
o sa urmeze in scurt timp o solutie incropita...
?
E similar cu rusii care nu au dezvoltat un pix care sa scrie in spatiu, ci au luat un creion...
2. Toate variantele postate mai sus sunt gresite, din 2 ratiuni, in principal:
- verificarea de an bisect lipseste sau e eronata
- nu functioneaza cross-browser
@octavian
ce faci daca ai 1.000 de optiuni in select? scrii 1000 de linii de cod?
ori esti geniu in regexp ori chiar scrii liniile alea de cod.
@nota personala
Doamne, cat a scazut forumul asta...
o sa urmeze in scurt timp o solutie incropita...
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 13 vizitatori


