Un select date de naissance pour majeurs

carosch -  
 carosch -
Bonjour,
je voudrais insérer dans un formulaire un select pour la date de naissance de la personne
mais je voudrais qu'il soit possible seulement pour les personnes majeurs

est-ce que ça existe tout fait ?
ou bien un javascript pour le générer en fonction de la date du jour ?

merci d'avance
carosch
A voir également:

6 réponses

Enax Messages postés 204 Statut Membre 145
 
Le code suivant devrait te convenir :
<script type="text/javascript">
	<!--
	var dateActuelle = new Date();

	function date()
	{
		if(document.getElementById("annee"+(dateActuelle.getFullYear() - 18)).selected == true)
		{
			for(i = (dateActuelle.getMonth() + 2) ; i <= 12 ; i++)
				document.getElementById("mois"+i).style.display = "none";
			for(i = (dateActuelle.getDate() + 1) ; i <= 31 ; i++)
				document.getElementById("jour"+i).style.display = "none";
			document.getElementById("mois").selected = true;
			document.getElementById("jour").selected = true;
		}
		else
		{
			for(i = 1 ; i <= 12 ; i++)
				document.getElementById("mois"+i).style.display = "block";
			for(i = 1 ; i <= 31 ; i++)
				document.getElementById("jour"+i).style.display = "block";
		}
	}
	//-->
</script>

<select onclick="date();">
	<option value="" id="annee">Année</option>
	<?php	
		for($i = 1900 ; $i <= (date('Y', time()) - 18) ; $i++)
		{
			echo '<option value="'.$i.'" id="annee'.$i.'">'.$i.'</option>';
		}
	?>
</select>
<select>
	<option value="" id="mois">Mois</option>
	<?php
		for($i = 1 ; $i <= 12 ; $i++)
		{
			echo '<option value="'.$i.'" id="mois'.$i.'">'.$i.'</option>';
		}
	?>
</select>
<select>
	<option value="" id="jour">Jour</option>
	<?php	
		for($i = 1 ; $i <= 31 ; $i++)
		{
			echo '<option value="'.$i.'" id="jour'.$i.'">'.$i.'</option>';
		}
	?>
</select>


Avec le même principe, tu peux également gérer les nombre de jour pour les mois qui n'en comptent pas 31 et les années bissextiles.
2
Enax Messages postés 204 Statut Membre 145
 
Pas suffisamment précis. Comment sais-tu que la personne est majeure ? Grâce à une réponse précédente dans le formulaire ? Et de quel type (select, radio, checkbox, autre) ?
0
carosch
 
en fait je voudrais que le select ne contienne que les dates possibles jusqu'à quelqu'un qui est majeur aujourd'hui

j'en un select qui se génére automatiquement mais que pour l'année, donc la première valeur est 1990, mais ceux du mois de mars 1990 ne sont pas encore majeurs donc normalement je devrais pas pouvoir rentrer la date 1 mars 1990, dans mon formulaire j'aimerais que ça soit testé et refusé .

je sais pas trop bien expliquer désolée

mais ça empêche pas les gens de tricher sur leur âge, ça c'est sur

carosch
0
Enax Messages postés 204 Statut Membre 145
 
Edit : Oups, j'ai rien dit...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Enax Messages postés 204 Statut Membre 145
 
Il faut passer par du Javascript.

Comme je ne suis pas super calé en JS, je te donne le principe plutôt que du code faux :

function selectionAnnee() // Quand l'utilisateur sélectionne une année dans la liste
{
	if(année == année actuelle - 18)
	{
		désactiver mois compris entre mois actuel et mois de décembre // display: none sur les option concernées, par exemple
		désactiver jours compris entre jour actuel et 31
	}
	else
	{
		activer tous les mois
		activer tous les jours
	}
}
0
carosch
 
merci beaucoup je vais étudier ça

carosch
0