Incrémenter une date dans un date-picker ?

Résolu
francois135 Messages postés 4 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 6 février 2008 - 6 févr. 2008 à 10:29
francois135 Messages postés 4 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 6 février 2008 - 6 févr. 2008 à 16:45
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

Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
6 févr. 2008 à 11:11
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]
3
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
6 févr. 2008 à 11:42
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]
3
francois135 Messages postés 4 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 6 février 2008
6 févr. 2008 à 16:45
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..  
3
francois135 Messages postés 4 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 6 février 2008
6 févr. 2008 à 11:29
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..
0

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

Posez votre question
francois135 Messages postés 4 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 6 février 2008
6 févr. 2008 à 11:59
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..
0
Rejoignez-nous