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

Langage PHP Discussion :

Recuperer une date de calendrier JAVASCRIPT


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 908
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 908
    Points : 420
    Points
    420
    Par défaut Recuperer une date de calendrier JAVASCRIPT
    Bonjour,

    j'ai le code suivantes Javascript qui me génère un calendrier

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
     
        <script  type="text/javascript">
    	var allMonth=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    	var allNameOfWeekDays=["Mo","Di", "Mi", "Do", "Fr", "Sa", "So"];
    	var allNameOfMonths=["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"];
    	var newDate=new Date();
    	var yearZero=newDate.getFullYear();
    	var monthZero=newDate.getMonth();
    	var day=newDate.getDate();
    	var currentDay=0, currentDayZero=0;
    	var month=monthZero, year=yearZero;
    	var yearMin=2000, yearMax=2010;
    	var target='';
    	var hoverEle=false;
    	function setTarget(e){
    		if(e) return e.target;
    		if(event) return event.srcElement;
    	}
    	function newElement(type, attrs, content, toNode) {
    		var ele=document.createElement(type);
    		if(attrs) {
    			for(var i=0; i<attrs.length; i++) {
    				eval('ele.'+attrs[i][0]+(attrs[i][2] ? '=\u0027' :'=')+attrs[i][1]+(attrs[i][2] ? '\u0027' :''));
    			}
    		}
    		if(content) ele.appendChild(document.createTextNode(content));
    		if(toNode) toNode.appendChild(ele);
    		return ele;
    	}
    	function setMonth(ele){month=parseInt(ele.value);calender()}
    	function setYear(ele){year=parseInt(ele.value);calender()}
    	function setValue(ele) {
    		if(ele.parentNode.className=='week' && ele.firstChild){
    			var dayOut=ele.firstChild.nodeValue;
    			if(dayOut < 10) dayOut='0'+dayOut;
    			var monthOut=month+1;
    			if(monthOut < 10) monthOut='0'+monthOut;
    			target.value=dayOut+'.'+monthOut+'.'+year;
    			removeCalender();
    		}
    	}
    	function removeCalender() {
    		var parentEle=document.getElementById("calender");
    		while(parentEle.firstChild) parentEle.removeChild(parentEle.firstChild);
    		document.getElementById('basis').parentNode.removeChild(document.getElementById('basis'));
    	}		
    	function calender() {
    		var parentEle=document.getElementById("calender");
    		parentEle.onmouseover=function(e) {
    			var ele=setTarget(e);
    			if(ele.parentNode.className=='week' && ele.firstChild && ele!=hoverEle) {
    				if(hoverEle) hoverEle.className=hoverEle.className.replace(/hoverEle ?/,'');
    				hoverEle=ele;
    				ele.className='hoverEle '+ele.className;
    			} else {
    				if(hoverEle) {
    					hoverEle.className=hoverEle.className.replace(/hoverEle ?/,'');
    					hoverEle=false;
    				}
    			}
    		}
    		while(parentEle.firstChild) parentEle.removeChild(parentEle.firstChild);
    		function check(){
    			if(year%4==0&&(year%100!=0||year%400==0))allMonth[1]=29;
    			else allMonth[1]=28;
    		}
    		function addClass (name) { if(!currentClass){currentClass=name} else {currentClass+=' '+name} };
    		if(month < 0){month+=12; year-=1}
    		if(month > 11){month-=12; year+=1}
    		if(year==yearMax-1) yearMax+=1;
    		if(year==yearMin) yearMin-=1;
    		check();
    		var control=newElement('p',[['id','control',1]],false,parentEle);
    		var controlPlus=newElement('a', [['href','javascript:month--;calender()',1],['className','controlPlus',1]], '<', control);
    		var select=newElement('select', [['onchange',function(){setMonth(this)}]], false, control);
    		for(var i=0; i<allNameOfMonths.length; i++) newElement('option', [['value',i,1]], allNameOfMonths[i], select);
    		select.selectedIndex=month;
    		select=newElement('select', [['onchange',function(){setYear(this)}]], false, control);
    		for(var i=yearMin; i<yearMax; i++) newElement('option', [['value',i,1]], i, select);
    		select.selectedIndex=year-yearMin;
    		controlPlus=newElement('a', [['href','javascript:month++;calender()',1],['className','controlPlus',1]], '>', control);
    		check();
    		currentDay=1-new Date(year,month,1).getDay();
    		if(currentDay > 0) currentDay-=7;
    		currentDayZero=currentDay;
    		var newMonth=newElement('table',[['cellSpacing',0,1],['onclick',function(e){setValue(setTarget(e))}]], false, parentEle);
    		var newMonthBody=newElement('tbody', false, false, newMonth);
    		var tr=newElement('tr', [['className','head',1]], false, newMonthBody);
    		tr=newElement('tr', [['className','weekdays',1]], false, newMonthBody);
    		for(i=0;i<7;i++) td=newElement('td', false, allNameOfWeekDays[i], tr);	
    		tr=newElement('tr', [['className','week',1]], false, newMonthBody);
    		for(i=0; i<allMonth[month]-currentDayZero; i++){
    			var currentClass=false;			
    			currentDay++;
    			if(currentDay==day && month==monthZero && year==yearZero) addClass ('today');
    			if(currentDay <= 0 ) {
    				if(currentDayZero!=-7) td=newElement('td', false, false, tr);
    			}
    			else {
    				if((currentDay-currentDayZero)%7==0) addClass ('holiday');
    				td=newElement('td', (!currentClass ? false : [['className',currentClass,1]] ), currentDay, tr);
    				if((currentDay-currentDayZero)%7==0) tr=newElement('tr', [['className','week',1]], false, newMonthBody);
    			}
    			if(i==allMonth[month]-currentDayZero-1){
    				i++;
    				while(i%7!=0){i++;td=newElement('td', false, false, tr)};
    			}
    		}
    	}
    	function showCalender(ele) {
    		if(document.getElementById('basis')) { removeCalender() }
    		else {
    			target=document.getElementById(ele.id.replace(/for_/,'')); 
    			var basis=ele.parentNode.insertBefore(document.createElement('div'),ele);
    			basis.id='basis';
    			newElement('div', [['id','calender',1]], false, basis);
    			calender();
    		}
    	}
    </script>
    Voici la partie du formulaire :

    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
     
     
    		<fieldset id="cond">
    		<legend>Quand voulez-vous vous évader ?</legend>
     
    		<p></p>
    			<label for="f1-nom" class="oblig">  Du :</label>
    			<input type='text' id='date1' /><input type='button' id='for_date1' value='date1' onclick='showCalender(this)' />
     
     
    			<label for="f1-nom" class="oblig">  Au :</label>
    			<input type='text' id='date2' /><input type='button' id='for_date2' value='date2' onclick='showCalender(this)' />
     
    		<p></p>
     
    		</fieldset>
     
     
    		</fieldset>
     
    			<br />
    			<em>* Champs obligatoires</em>
     
    	</div> <!-- fin de corpForm -->
     
    		<div id="piedForm">
    			<input type="submit" name="valide_form" value="Envoyer ces informations" />
    		</div>
    et j'aimerais récupérer les dates en php .

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Ajoutes des attributs name sur les input avec lesquels tu récupères ses valeurs avec $_GET ou $_POST selon la methode de ton formulaire.
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='text' id='date1' name="date1"/>

Discussions similaires

  1. Réponses: 13
    Dernier message: 11/02/2014, 11h01
  2. Recuperer une date asp dans du javascript HELP
    Par lonycc dans le forum ASP
    Réponses: 7
    Dernier message: 01/10/2008, 19h41
  3. recuperer une date dans calendrier?
    Par gatous dans le forum ASP.NET
    Réponses: 3
    Dernier message: 30/05/2007, 20h02
  4. [Debutant]récupération d'une Date via calendrier en javascript
    Par chihiro_ba dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/12/2006, 09h51
  5. Recuperer une date au format annee/mois
    Par Pogny dans le forum Access
    Réponses: 5
    Dernier message: 10/08/2006, 13h39

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