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 :

Calcul de solde � partir de la date


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par d�faut Calcul de solde � partir de la date
    Salut tout le monde,

    voil� je veux simplement calculer un solde initial de cong� � partir d'une date saisie sur le formulaire.

    J'ai chercher pour trouver une fonction de calcul des mois entre deux date car:

    le solde = nbr de mois *1.75.

    cette fonction que j'ai pas encore pu avoir le resultat calcul le nombre de mois:
    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
    function ecart_mois(date_max, date_min)
    	{   
    		var explode_date_min;
    		var explode_date_max;
    		var mois_min;
    		var annee_min;
    		var mois_max;
    		var annee_max;
    		var ecart;
     
    		explode_date_min = date_min.split('/');
    		explode_date_max = date_max.split('/');
     
    		mois_min = parseInt(explode_date_min[0]);
    		annee_min = parseInt(explode_date_min[1]);
     
    		mois_max = parseInt(explode_date_max[0]);
    		annee_max = parseInt(explode_date_max[1]);
     
    		ecart = ((annee_max - annee_min)*12) - (mois_min) + (mois_max);
     
    		return ecart;
    	}
    Par la suite lors de saisie de la date de recrutement, le champ solde de cong� doit afficher le solde calculer par cette fonction:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    function calculSolde() 
    { 
    datenow=new date();
    daterecrut=document.getElementById(date_recrut).value
    nbrmois=ecart_mois(datenow,daterecrut);
    document.getElementById("solde_ini").value= nbrmois*1.75;
     
    }
    Dans mon formulaire:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    <td> Date de Recrutement </td> 
    			<td><input type="text" name="date_recrut" id="date_recrut"  value="<?php echo (isset($_POST['date_recrut'])) ?  $_POST['date_recrut'] : ' ';?>" onClick="ds_sh(this);"  onchange="calculSolde();" /></td>
    	</tr>
     
     <input type="text"  class="" name="solde_ini"   id="solde_ini" " value="<?php echo (isset($_POST['solde_ini'])) ?  $_POST['solde_ini'] : ' ';?>"/>
    ==>onClick="ds_sh(this) : affiche le calendrier pour s�lectionner la date, je suppose que mon code contient des erreurs, pouvez vous m'aider s'il vous plait! est ce que c'est juste d�appeler la fonction "ecart_mois" dans la deuxi�me fonction?

    Merci pour votre aimable aide

  2. #2
    Expert confirm�
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par d�faut
    Bonsoir,

    je n'ai pas tr�s bien compris ton probl�me. O� �a coince ?

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par d�faut
    Salut ,

    Lorsque je s�lectionne la date de recrutement dans le formulaire la fonction CalculSolde doit se d�clencher et je dois avoir le solde calculer automatiquement dans le champ solde_initial.

    J'ai fait les deux fonction pour �a m� si je s�lectionne la date ( j'ai mis "onchange="calculSolde();") rien qui appara�t dans le champ solde_initial.

    Existe-il une erreur dans mon code � rectifier?
    Merci pour vitre aimable aide

  4. #4
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    quelques remarques sur ton code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    function calculSolde() {
      var datenow = new Date(); // Date et non date javascript sensible à la casse
      var daterecrut = document.getElementById('date_recrut').value; // MANQUE les quotes pour l'ID
      var nbrmois = ecart_mois(datenow, daterecrut);
      document.getElementById("solde_ini").value = nbrmois * 1.75;
    }
    et une derni�re remarque, v�rifies que le format de new Datecorrespond � celui que tu attends

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par d�faut
    Salut et d�sol� pour le retard

    Effectivement le format de new Date n'est celui que j'attend; le format affich� est : Thu Jun 19 2013 21:00 .... alors que le format voulu c'est 19-06-2013.

    As tu une id�e comment je peu avoir ce format?

  6. #6
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Il existe les m�thodes getDay, getMonth et getFullYear qui te permettront de r�cup�rer les informations dont tu as besoin.

    http://javascript.developpez.com/faq...ipt/?page=date

  7. #7
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par d�faut
    Oui effectivement j'ai trouv� comment r�cup�rer la date;

    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
    var explode_date_min;
      var explode_date_max;
      var mois_min;
      var annee_min;
      var mois_max;
      var annee_max;
      var ecart;
    var d = new Date();
    daterecrut=document.getElementById('date_recrut').value
        var curr_date = d.getDate();
        var curr_month = d.getMonth() + 1; //Months are zero based
        var curr_year = d.getFullYear();
      datenow=curr_date + "-" + curr_month + "-" + curr_year;
         explode_date_min = daterecrut.split('-');
      explode_date_max = datenow.split('-');
      mois_min = parseInt(explode_date_min[0]);
      annee_min = parseInt(explode_date_min[1]);
      mois_max = parseInt(explode_date_max[0]);
      annee_max = parseInt(explode_date_max[1]);
      ecart = ((annee_max - annee_min)*12)- (mois_min) + (mois_max);
     
    document.getElementById('solde_ini').value=ecart;// faut resultat
    �a me reste le calcul de solde en cours que je doit r�-examiner ...

  8. #8
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    datenow=curr_date + "-" + curr_month + "-" + curr_year;
    datenow sera donc de la forme "20-06-2013"...

    ensuite tu as
    explode_date_max = datenow.split('-');
    tu obtiens donc ["20" ,"06", "2013"]...

    puis tu fais
    mois_max = parseInt(explode_date_max[0]);
    mois_max contient "20" qui est la date mais pas le mois.

    Pourquoi ne pas affecter directement mois_max et annee_max avec getMonth() et getFullYear() ?

Discussions similaires

  1. Calcul du semestre � partir d'une date
    Par mohamed_ dans le forum SAS Base
    R�ponses: 8
    Dernier message: 01/06/2015, 10h19
  2. [D�butant] Calculer l'�ge � partir de la date de naissance
    Par kamalGLM dans le forum VB.NET
    R�ponses: 14
    Dernier message: 24/03/2015, 10h10
  3. [A-03] Calculer jours ouvrables � partir d'1 date
    Par MaryR dans le forum Requ�tes et SQL.
    R�ponses: 8
    Dernier message: 28/01/2009, 21h39
  4. [XI] Calculer le num�ro d'une semaine � partir d'une date
    Par leloup84 dans le forum SAP Crystal Reports
    R�ponses: 2
    Dernier message: 23/04/2007, 14h49
  5. [D�butant] Calcul d'une date � partir d'une date de d�part et d'une dur�e
    Par Marmotton76 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 11/04/2007, 10h39

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