Incrémenter une date dans un date-picker ? [Résolu]

Signaler
Messages postés
4
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
6 février 2008
-
Messages postés
4
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
6 février 2008
-
Bonjour à tous,

Comme l'indique ma signature je suis un gros débutant, excusez mon incompétence..et mon ignorance..

Mon problème :

J'ai un site de location d'appartements. Il se trouve que la réservation se fait par un simple formulaire php, qui envoie un simple mail au gérant.
Le problème est que les gens se trompent souvent dans les dates de leur séjour.

Vous imaginez bien le type de formulaire :

Du .. /.. /..  Au .. /.. /..
La sélection des dates se fait par un petit script date-picker.js donc petit calendrier qui apparait, tout ça..

Ma Question :
Est il possible, comme ça, à vue de nez, de faire en sorte que la date finale ( Au .. /.. /..) soit automatiquement à J+7 de la date de départ ?!

Je vous remercie par avance de votre aide, ça m'enlèverait une sacrée épine du pied, étant TOTALEMENT inculte en java.
Cordialement,

Fanf

Gros débutant..

5 réponses

Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
4
Bien le bonjour, pour répondre à ta question oui comme ça à vue de nez, c'est possible !
Bon, si tu veux une réponse plus propre, c'est même très possible, il aurait été sympatique que tu fournisses un petit bout de code, je présume (ou plutôt j'espère) que tu as fait quelques recherches, mais bon !
voilà à quoi cela pourrait ressembler
<html>
    <head>
        <title>Et si on ajoutait 7 jours à une date ?
        </title>
        <script>
            Date.prototype.addDay = function (_num){
                return new Date(this.getTime() + _num * 86400000);
               
            }
            function testDate(){
                var _date = new Date();
                alert ( _date.addDay    (7));
            }
        </script>
    </head>
   
   
</html>

à adapter il va s'en dire !

[o-_-o]
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
4
Le plus simple (?) c'est de le mettre sur l'évenement onblur (ou onChange ?) du champ


datearrivee
voilà à quoi cela pourrait ressembler (j'ai épuré ton code pour éviter les erreurs)
<html>
<head>
<title>Et si on ajoutait 7 jours à une date ?
</title>
<script>
Date.prototype.addDay = function (_num){
return new Date(this.getTime() + _num * 86400000);

}

function addDateDay(_obj){
var _date = new Date(_obj.value);
var _endDate = _date.addDay (7);
document.getElementById("datedepart").value = _endDate.getDate() + "/" + _endDate.getMonth()+1 + "/" + _endDate.getFullYear();
}
</script>
</head>

P&eacute;riode
souhait&eacute;e (1) * :,
<td nowrap=\"nowrap\">du

au

</html>






[o-_-o]
Messages postés
4
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
6 février 2008

Voici donc le code "final" que Zobibol m'a donné :

        <script>
/**
* Prototype de date
*
* méthode addDay
* Ajoute un nombre de jour à la date.
*
* @param _num
* Nombre de jour à rajouter
* @return Retourne une nouvelle date.
*/
Date.prototype.addDay = function (_num){
return new Date(this.getTime() + _num * 86400000);

}

/**
* Ajout d'un nombre de jour à une date.
*
* @param _obj
* champ contenant la date.
*/
function addDateDay(_obj){
if ( _obj.value !=null){
var splitSlash = _obj.value.split("\/");
var _date = new Date();
_date.setMonth(splitSlash[1]-1);
_date.setFullYear(splitSlash[2]);
_date.setDate(splitSlash[0]);
var _endDate =  _date.addDay (7);
var dayOfMonth = (_endDate.getDate()<10) ? "0" + _endDate.getDate() : _endDate.getDate();
var month = ((_endDate.getMonth()+1)<10) ? "0" + (_endDate.getMonth()+1) : (_endDate.getMonth()+1);
document.getElementById("datedepart").value = dayOfMonth + "/" + month  + "/" + _endDate.getFullYear();
}
}

</script>

Et du côté du formulaire :

          &nbsp;[javascript:show_calendar('formreserv.datearrivee'); ]
         

au
           

Le remerciant encore pour cette aide précieuse..  
Messages postés
4
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
6 février 2008

Merci Zobibol,

Et merci pour ton élément de réponse, je vais étudier la question.. Bien sur j'ai fait des recherches, mais vraiment, quand on connait pas c'est dur finalement lol
Donc voici des éléments supplémentaires :
Ma page php : (juste le ptit bout du formulaire, le reste n'a pas beaucoup d'importance je pense..)

<tr>

<td> P&eacute;riode
souhait&eacute;e (1) <span style="color:#ff8205;">*</span> :</td>
<td nowrap="nowrap">du
<input name="datearrivee" type="text" id="datearrivee" size="10">&nbsp;<a href="javascript:show_calendar('formreserv.datearrivee');" onMouseOver="window.status='Date Picker'.focus();return true;" onMouseOut="window.status=''.focus();return true;"><img src="show-calendar.gif" width=19 height=20 border=0 align="absmiddle"></a><br />
<br />
au
<input name="datedepart" type="text" id="datedepart" size="10">&nbsp;<a href="javascript:show_calendar('formreserv.datedepart');" onMouseOver="window.status='Date Picker'.focus();return true;" onMouseOut="window.status=''.focus();return true;"><img src="show-calendar.gif" width=19 height=20 border=0 align="absmiddle"></a></td>

</tr>

Je sais pas en fait... où je dois placer une éventuelle modification de code pour lancer ce changement de date..
Je crois que je m'exprime très mal..

Gros débutant..
Messages postés
4
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
6 février 2008

Excellent, excellent !
Il reste un tout petit détail, mais je vais t'embêter en message privé je crois !
Merci beaucoup !

Gros débutant..