11540 sujets

JavaScript, DOM et API Web HTML5

Bonsoir,

J'ai un soucis dans mon code car le mois ne s'affiche pas. Pouvez vous m'aider ?
Merci beaucoup !

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Programmation différée</title>

<script>

function calendrier(mf) {
 var time = new Date;
 mf.mois.value = time.getMonth() + 1;
 mf.jour.value = time.getDate();
 mf.annee.value = time.getFullYear();
 mf.heure.value = time.getHours();
 mf.minutes.value = time.getMinutes();
 }

</script>

                  
</head>

<body onload="calendrier(document.clock);">

<form method="post" name="clock" action="#">

<select name="jour">
                
		  <?php for ($jour = 01 ; $jour <= 31 ; $jour++)
          {
		  $day = sprintf("%02d", $jour);
          ?>
          <option value="<?php echo $day; ?>"><?php echo $day; ?></option>
          <?php	           
          }
          ?>	
        </select>
		
<select name="mois">
                
		  <?php for ($mois = 01 ; $mois <= 12 ; $mois++)
          {
		  $b = sprintf("%02d", $mois);
          ?>
          <option value="<?php echo $b; ?>"><?php echo $b; ?></option>
          <?php	           
          }
          ?>	
        </select>
		
<select name="annee">
   			
		   <?php for ($annee = date('Y') ; $annee <= date('Y')+1 ; $annee++)
           {
           ?>
           <option value="<?php echo $annee ?>"><?php echo $annee; ?></option>
           <?php	           
           }
           ?>							
        </select>

 
 <select name="heure">
 			
		   <?php for ($heure = 00 ; $heure <= 23 ; $heure++)
           {
		    $hour = sprintf("%02d", $heure);
           ?>
           <option value="<?php echo $hour ?>"><?php echo $hour; ?></option>
           <?php	           
           }
           ?>							
        </select>
		
<select name="minutes">
 			
		   <?php for ($minutes = 00 ; $minutes <= 59 ; $minutes++)
           {
		   $min = sprintf("%02d", $minutes);
           ?>
           <option value="<?php echo $min ?>"><?php echo $min; ?></option>
           <?php	           
           }
           ?>							
        </select>

</form>
</body>
</html>
bonjour,
Hmmm a vu de nez je dirais que ce que tu charges comme valeur de mois en php n'est pas égale à ce que te retourne time.getMonth() + 1.

Pour le mois de février time.getMonth() + 1 va renvoyer 2 hors dans ton menu déroulant la value est égale à 02. Tu risques d'avoir le même soucis pour les jours entre 1 et 9 je pense.

J'espère que ça t'aidera.
Modifié par epi (28 Feb 2013 - 14:33)
Je pense avoir trouvé Smiley biggrin

<script>

function calendrier(mf) {
 var time = new Date;
 mf.jour.value = ("0" + time.getDate()).slice(-2);
 mf.mois.value = ('0' + (time.getMonth() + 1)).slice(-2);
 mf.annee.value = time.getFullYear();
 mf.heure.value = ("0" + time.getHours()).slice(-2); 
 mf.minutes.value = ("0" + time.getMinutes()).slice(-2);
 }

</script>