problème de récupération substr

problème de récupération substr - HTML/CSS - Programmation

Marsh Posté le 22-03-2005 à 09:18:01    

Lut'
 
Cette fonction renvoie le mois suivant de la date saisie, quand je récupère des dates du mois de 09 ou 08, au lieu de récupérer ces valeurs il récupère 0???? alors que tous les autres mois fonctionnent.
 
 

Code :
  1. <script language="JavaScript">
  2. function moissuiv(date){
  3.                           jour=parseInt(date.substr(0,2));
  4.                           mois=parseInt(date.substr(3,2));
  5.                           annee=parseInt(date.substr(6,4));
  6.     alert(mois);//pour 08 et 09 il affiche 0????
  7.                           mois++;//pour 08 et 09 ca passe à 1 puiske au dessus c 0                           
  8.                           alert(mois);
  9.                           //check pour la validité de la date
  10.                           if (mois>12){
  11.                              alert('change annee!!')
  12.                              mois=1;
  13.                              annee++;
  14.                           }
  15.                           //rajoute un 0 pour mm
  16.                           if (mois<10){
  17.                              mois="0"+mois;
  18.                           }
  19.                           //formate
  20.                           date=jour + "/" + mois + "/" + annee;
  21.                           alert(date);
  22.                           //controle pour la fin du mois
  23.                          //pas encore fait
  24.                  }
  25. </script>
  26. Date [jj/mm/aaaa] :<input type="texte"  onblur="moissuiv(this.value);" name="date" />


 
arghhh pourquoi tant de haine!!!!


Message édité par gortril le 22-03-2005 à 09:24:52
Reply

Marsh Posté le 22-03-2005 à 09:18:01   

Reply

Marsh Posté le 22-03-2005 à 09:53:13    

moi j'utilise substring(i,j)
 
avec i = premiere lettre a prendre
et j = premiere lettre a ne pas prendre
 
dans ton cas pour le mois, tu mets
 
mois = parseInt(date.substring(3,5));
 
pour une date au format jj/mm/ssaa

Reply

Marsh Posté le 22-03-2005 à 10:01:51    

Merci esrevni,  
 
MAIS meme avec substring il me renvoie 0 pour le 08 et le  
09 c'est exactement pareil qu'avec substr(p,q)...
 
Miaou!!!

Reply

Marsh Posté le 22-03-2005 à 11:05:47    

apparemment, c'est un problème de base (8 dans ton cas = base des octets donc 8 = 0)
 
donc pour que ça marche, tu dois préciser la base 10 dans ton parseInt comme suit :
 
mois=parseInt(date.substr(3,2),10);  
 
et là miracle, ça marche

Reply

Marsh Posté le 22-03-2005 à 11:10:30    

Yeeehhhhhaaaaaaaaaaa !!!!!  
ca marche! COOOLL  
Merci encore!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed