begin process at 2012 05 29 14:12:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Javascript: probleme avec Split:


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Javascript: probleme avec Split:

mercredi 29 avril 2009 à 11:22:14 | Javascript: probleme avec Split:

Plink

Bonjour,
Je developpe actuellement un intranet soushtml,css php,sql et javascript pour permettre aux employés de saisir leurs demandes de congé.
J'ai longtemps cherché sur internet et sur ce site mais je n'ai pas trouvé la solution à un problème:
Lorsqu'une personne pose un congé elle met une date de debut, une date de fin et un nombre de jour.
Si la personne clique sur la case nombre de jours je lance un script :
Test(dateDebut,dateFin,nbJours,demiDebut,demiFin).
Ce script verifie que l'utilisateur a rempli le champ dateDebut puis dateFin.
Ensuite il verifie que dateDebut < dateFin.
Apres, il calcule le nombre de jours et l'affiche.

Dans mon formulaire j'ai plusieurs lignes. La ligne i contient dateDebuti,dateFini et nbJoursi que je passe en paramettre a ma fonction (idem pour demidebut et demifin).

Si la personne rentre des parametres corrects et clique sur nbJours, le script fonctionne tres bien et affiche le nombre de jours.
Sinon, il affiche a l'utilisateur qu'il s'est trompé.
Le probleme est lorsque, avant de valider mon formulaire, on rempli une deuxieme ligne, lors du clic sur nbJours, rien ne se passe.
J'ai regardé mon code et j'ai remarqué qu'il n'y avait que lorsque mon script utilisait la fonction split que je ne pouvais plus réutiliser mon script dans la page.
controlerDateDebut(dateDebut) et controlerDateFin(dateFin) peuvent etre réutilisé a chaque fois sans aucun probleme, c'est a partir de controlerFinSupDeb(dateFin,dateDebut) que ca ne veut plus etre réutilisé.


Merci d'avance. Rémi

Voici le code javascript:

function Test(dateDebut,dateFin,nbJours,demiDebut,demiFin)
{
   ok = 0;
   if(controlerDateDebut(dateDebut))
   {
      if(controlerDateFin(dateFin))
      {
         if(controlerFinSupDeb(dateFin,dateDebut))
         {
             // je ne l'affiche pas car c'est long et ca bug sans passer par la
         }
         else
         {
            nbJours.value = "deb>fin";
         }
      }
      else
      {
         nbJours.value = "err_fin";
      }
   }
   else
   {
      nbJours.value = "err_deb";
   }
   return true;
}

function controlerFinSupDeb(Fin,Debut)
{
   //reg=new RegExp("[ /]+", "g");
  
   debut = Debut.value.split("/");
   fin = Fin.value.split("/");
   valeurDebut = parseInt(debut[2]+debut[1]+debut[0],10);
   valeurFin = parseInt(fin[2]+fin[1]+fin[0],10);
  
   //valeurFin = fin[0];
   //valeurDebut = debut[0];
  
   //valeurFin = parseInt("12",10);
   //valeurDebut =  parseInt("14",10);
  
   if (valeurFin < valeurDebut)
   {
      val = 0;
   }
   else
   {
      val = 1;
   }
   return val;
}

mercredi 29 avril 2009 à 11:42:54 | Re : Javascript: probleme avec Split:

Bul3

Membre Club


Bonjour,
pas tout compris....
tu veux le nombre de jours entre 2 Dates ?
fais une soustraction peut-être ? ( Date en Javascript permet "tout" )

        var dd="23/04/2009";
        var df="29/04/2009";
        var r=new Date(dd) - new Date(df);
        alert( new Date(r).getDate() );

Cordialement [mon Site] [M'écrire] Bul
mercredi 29 avril 2009 à 11:50:19 | Re : Javascript: probleme avec Split:

Bul3

Membre Club
erreur de copié/collé !
la date doit être sous la forme aaaa/mm/jj ( par exemple, pas seulement )
et bien entendu date fin  - date début !
le résultat ici est = 7

mercredi 29 avril 2009 à 11:53:37 | Re : Javascript: probleme avec Split:

Plink

C'est plus compliqué : faut enlever les jours feries et les week end mais tu as raison je me suis mal expliqué. Le probleme n'est pas dans la soustraction

Le probleme a lieu lorsque j'utilise la fonction controlerFinSupDeb(Fin,Debut) une fois
et que je veux la réutiliser pour une autre ligne du formulaire (ca rappelle la fonction test mais avec des parametres différents). Alors que pour la premiere ligne ca marchait, pour la deuxieme ca marche pas
mercredi 29 avril 2009 à 11:58:12 | Re : Javascript: probleme avec Split:

Bul3

Membre Club
ah....
et comment est fait l'appel ?
tu as les mêmes name dans le html ?
oui : il faut dire lequel     name_du_champ[index]
non : faut voir l'appel

mercredi 29 avril 2009 à 11:58:44 | Re : Javascript: probleme avec Split:

Plink

Erf, j'avais mal compris ta réponse.
Tu me propose de supprimer le split et de la remplacer par une soustraction  ?
je vais tester pour voir :)
mercredi 29 avril 2009 à 12:02:04 | Re : Javascript: probleme avec Split:

Plink

voila l'appel :
// Date de début
      $onfocus = "onFocus=\"Test(datedebut".$i.",datefin".$i.",nbjours".$i.",demiDebut".$i.",demiFin".$i.")\"";
      $onchange  = "onChange=\"controlerDateDebut(datedebut".$i.")\"";
      $datedebut = "<input name=datedebut".$i." type=".$type." size=14 ".$datedebut_value." ".$onchange.">";
// Date de fin
      $onchange  = "onChange=\"controlerDateFin(datefin".$i.")\"";
      $datefin   = "<input name=datefin".$i." type=".$type." size=14 ".$datefin_value." ".$onchange.">";
      
// Nombre de jours
      $onchange  = "onChange=\"controlerNbJours(nbjours".$i.")\"";
      $nbjours   = "<input name=nbjours".$i." type=text size=4 ".$nbjours_value." ".$onchange." ".$onfocus.">";

C'est le on focus de l'input nbjours qui appelle test :)
Je reviens d'ici 2h.
Merci
Rémi
mercredi 29 avril 2009 à 12:06:19 | Re : Javascript: probleme avec Split:

Bul3

Membre Club
peut-être pas, si la saisie est jj/mm/aaaa
et new Date accepte 3 paramètres aussi ( et d'autres format de dates )
jour mois an, je ne sais plus dans quel ordre.

mercredi 29 avril 2009 à 12:09:49 | Re : Javascript: probleme avec Split:

Bul3

Membre Club
un extrait pas suffisant et surtout du php !
l'élément html généré, résultant est nécessaire !
<input type="text" name="???" onchange="" et autre.... />

mercredi 29 avril 2009 à 13:11:25 | Re : Javascript: probleme avec Split:

Plink

ok des que j'arrive au boulot, j'essaye de poster ce qu'il faut et je ferais aussi qques tests

1 2

Cette discussion est classée dans : fin, debut, datedebut, datefin, nbjours


Répondre à ce message

Sujets en rapport avec ce message

un calendrier bien special [ par kabouya ] bonjour,j'ai besoin d'un calandrier javascript qui me donne uniquement le debut et la fin de chaque mois. par exemple une entete on l'on peu choisir l Problème avec un code pour le bbcode [ par dixy2 ] Bonjour, J'ai un problème avec un code javascript insérant les balises bbcodes dans un textarea. Mon problème est que sur internet explorer, la fonct calcule total [ par ahlemlo ] bonjour j'ai fait ce code qui permet de calculer le total(tarif*nombre de jour)et (le nombre de jour=date_fin-date_debut )mai ne marche pas.aider moi calcul de date debut a partir de periode et date fin [ par hejerhejer ] slt,je suis débutante en java script,mon problème c'est que j'ai une date fin de facture et un nombre de mois et je dois trouver la date début en java rafraîchir une page à la fin de son chargement [ par benlaun ] Bonjour à tous et toutes. Voici mon problème: J'ai fait un site full flash qui fonctionne à merveille en local, mais certains éléments de ma 1ère pag calendrier et date [ par djbabou ] Bonjour a tous, j'ai posté sur le forum php un problème que j'espère vous pourrez m'aider à résoudre. Le voici: J'ai deux champs date dans un formul création d'une div pour les suggestions [ par loulou27 ] Bonjour à tous j'ai un souci avec un script que j'ai récupéré. le script c'est un formulaire qui génère des suggestions automatiquement. Le script en Impression automatique des iframes [ par loyousse ] Bonjour à tousJe vous écris au sujet d'un problème que je rencontre depuis plusieurs jours concernant des iframes.J'ai une page aspx qui contient plus texte qui defile en boucle sans espace entre le debut et la fin [ par wally88 ] Bonjour, Voila j'aimerais que mon texte defile en boucle sans qu'il y ait d'espace entre. c'est a dire que les lettre arrivé a gauche par exemple ne Attendre la fin du fonction pour continuer [ par chrisotphe7502 ] Bonjour, mon problème est le suivant, je créé un site web embarqué que je programme en javascript et HTML. Dans une des pages web, j'appel une fonctio


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales