IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Affichage d'une date dans x jours


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut Affichage d'une date dans x jours
    Bonjour,

    J'essaie en vain de réaliser la chose suivante:

    Un formulaire possède deux champs: L'un contient des dates en l'autre un nombre de jour. On sélectionne une date. Lorsque l'on choisit le nombre de jour, je veux que s'affiche alors la nouvelle date.

    Voila ce que j'ai fait... Je pense ne pas être bien loin du but... mais bien sûr, ça ne fonctionne pas!!!

    La date de résultat s'affichant est toujours le 17/06/2006 ( il semble que ce soit date du jour moins un mois). Puis si je sélectionne une autre périodicité, la date affiché disparait ( il faudrait qu'elle change)...

    Voici mon bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    <script type="text/javascript">    
    function checkDuration() {
    var form = document.getElementById("FormHotel" );
    var select = form.getElementsByTagName("select" );
    var day;
    var seconde;
    var array;
    var nouvelle_date;
    var separator = "/";
    var ObjetDate;
    var New_Jour;
    var New_mois;
    var New_An;
    var Xday;
     
    	for (var i=0; i<select.length; i++) {
    	if (select[i].name=="Duration[]" ) day=parseInt(select[i].value);
     
    	}
    	if (select[0].name=="StartDate" ) StartDate=(select[0].value);
    //	alert(StartDate);
     
    	array = StartDate.split(separator);
    	secondes = (new Date(array[2],array[1]-1,array[1])).getTime() + 86400000 * day;
    	nouvelle_date = new Date(secondes);
     
    //	alert(nouvelle_date);
    	ObjetDate = new Date(); 
    	New_Jour=ObjetDate.getDate(nouvelle_date);
    	New_mois=ObjetDate.getMonth(nouvelle_date);
    	New_An=ObjetDate.getFullYear(nouvelle_date);
     
    	Xday=New_Jour+separator+New_mois+separator+New_An;
    document.getElementById("Futur" ).innerHTML = Xday;
    }            
    </script>
     
    		<form id="FormHotel">
    			<select name="StartDate" id="StartDate" id="StartDate">    
    				<option value="25/06/2006" selected="selected">25/06/2006</option>
    				<option value="26/06/2006">26/06/2006</option>
    				<option value="27/07/2006">27/07/2006</option>
    				<option value="28/07/2006">28/07/2006</option>
    			</select>   
    			<select name="Duration[]" onchange="checkDuration()" id="Duration">
    				<option value="1" selected="selected">1</option>
    				<option value="2">2</option>
    				<option value="3">3</option>
    				<option value="4">4</option>
    				<option value="5">5</option>
    				<option value="6">6</option>
    			</select>
    			<strong>Jusqu'au : <span id="Futur"></span></strong>  
    		</form>
    Quelqu'un peut m'aider sur ce point?
    Par avance, merci,

  2. #2
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Lorsque tu fais ObjetDate = new Date(); , tu récupères la date d'aujourd'hui. Je pense que ton problème vient de là ...

  3. #3
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    De plus, n'oublies pas que lorsque tu fais un getMonth(), tu n'obtiens pas le mois comme nous le lisons...En effet, le tableau des mois part de l'indice 0.
    Par exemple si ta date est le 17 juillet 2006, ton getMonth() de cette date retournera 6.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Bonjour Linar009,

    Merci de ton intervention. Pour ce quyi est de la deuxieme partie de ton message, j'avais bien vue la chose et donc pour le mois je décremente d'un (array[1]-1)

    Par contre, comment puis-je initialiser ObjetDate si je dois éviter d'écrire ObjetDate = new Date();??

    Merci,

    Paulux

  5. #5
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Si j'ai bein compris le prinicpe de ton programme je pense que tu devrais faire comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    New_Jour=nouvelle_date.getDate();
    	New_mois=nouvelle_date.getMonth();
    	New_An=nouvelle_date.getFullYear();
    tout simplement...
    Puisque de toute façon, ta variable ObjetDate n'est jamais réutilisée...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Merci pour tout... Avec une paire d'yeux suplémentaire... on peux vraiment faire bcp plus

  7. #7
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Pour information supplémentaire, les méthodes getDate(), getMonth() et getYear() (resp. getFullYear()) ne prennent aucun paramètre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formater l'affichage d'une date dans une vue
    Par ripcurl dans le forum Requêtes
    Réponses: 2
    Dernier message: 31/05/2010, 16h57
  2. affichage d'une date dans un état crystal report
    Par oasma dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/12/2009, 23h14
  3. [MySQL] affichage d'une date dans un tableau
    Par toomou dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/01/2009, 10h56
  4. Affichage d'une date dans une liste déroulante
    Par ange_dragon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/12/2008, 11h00
  5. Récupération et Affichage d'une date dans un formulaire
    Par skeeler dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/02/2008, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo