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 :

Fonction comparaison date via formulaire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    IUT R&T
    Inscrit en
    Octobre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : IUT R&T

    Informations forums :
    Inscription : Octobre 2015
    Messages : 2
    Par défaut Fonction comparaison date via formulaire
    Bonjour cher membres de développez !

    Je suis un étudiant en Dut R&T et pour mon premier post, j'aurais besoin d'aide pour une petite fonction en JavaScript.

    Le but de cette fonction est de récupérer deux valeurs du type date"10/10/2015" dans un formulaire et de les comparer avec une fonction.

    J'ai recherche quelque bout de code sur le net et après avoir bidouillé quelque temps.

    Je n'arrive toujours pas à faire une comparaison efficace.

    Merci d'avance pour votre aide .

    Superjawa

    Le Code HTML 5:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <form name ="form1" autocomplete="on" ><!-- formulaires -->
    	<fieldset>	
    		<table>
    			<tr>
    		              <td><label>date d'arriv&eacute;e:</label></td>
    			      <td class="droite"><input placeholder="ex:19/10/2010" pattern="(0[1-9]|[12][0-9]|3[01])[-/.](0[1-9]|1[012])[-/.](19|20)\d\d" name="date_Arr" title="date" type="date" /></td>
    			</tr>
     
    			<tr>
    				<td><label>date de d&eacute;part:</label></td>
    				<td class="droite"><input placeholder="ex:19/10/2010" pattern="(0[1-9]|[12][0-9]|3[01])[-/.](0[1-9]|1[012])[-/.](19|20)\d\d" name="date_Dep" title="date" type="date" onBlur="Compare(form1)"/></td>
    			</tr>
    		</table>
            </fieldset>	
    </form>

    Le Code JavaScript:
    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
    //Fonction Verification de la date :
     
    function Compare(form1)
    {
     
    	//variables :
    	var dateDepartRecupere = document.form1.date_Dep.value;
    	var objetDateDep = new Date();
     
    	var dateArriveeRecuperee = document.form1.date_Arr.value;
    	var objetDateArr = new Date();
     
    	var dateDepFinale ;
    	var dateArrFinale ;
     
    	objetDateDep.setFullYear(dateDepartRecupere.substr(6,4));
    	objetDateDep.setMonth(dateDepartRecupere.substr(3,2));
    	objetDateDep.setDate(dateDepartRecupere.substr(0,2));
    	objetDateDep.setHours(0);
    	objetDateDep.setMinutes(0);
    	objetDateDep.setSeconds(0);
     
    	objetDateArr.setFullYear(dateArriveeRecuperee.substr(6,4));
    	objetDateArr.setMonth(dateArriveeRecuperee.substr(3,2));
    	objetDateArr.setDate(dateArriveeRecuperee.substr(0,2));
    	objetDateArr.setHours(0);
    	objetDateArr.setMinutes(0);
    	objetDateArr.setSeconds(0);
     
    	//convertion en seconde des dates
     
    	dateDepFinale = objetDateDep.getTime(); 
    	dateArrFinale = objetDateArr.getTime();
     
    	document.write(dateDepFinale);
    	document.write(dateArrFinale);
     
    	//conditions :
    	if (dateDepFinale < dateArrFinale )
    		{
    		// dates accepté
    		alert("yesssssss !");
    		}
    	else
    		{
    		alert("BUGGGGGGGG !");
    		}
     
    }
    Le temps ne fait rien à l'affaire,
    Quand on est con, on est con. George Brassens

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour et bienvenue sur DVP.
    Peut être que cette contribution devrait te permettre d'y voir plus clair
    Vérifier la validité d'une date

    Conseils :
    • Evite l'utilisation de document.write.
    • Plutôt que d'utiliser la méthode substr() utilise la méthode split() sur ta chaine.
    • Perso je mettrais le champ départ avant le champ arrivé .

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    IUT R&T
    Inscrit en
    Octobre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : IUT R&T

    Informations forums :
    Inscription : Octobre 2015
    Messages : 2
    Par défaut Réponse
    Merci pour tes ces infos.

    Je vais continuer ma croisade !

    cdlt, superjawa

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Avec la librairie Moment.js tu pourrais faire simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function Compare(form1) {
        var dDepart  = moment(document.form1.date_Dep.value);
        var dArrivee = moment(document.form1.date_Arr.value);
        var ecart = dArrivee.diff(dDepart);
        if (ecart > 0) {
            console.log('C\'est OK!');
        } else {
            console.log('Mauvaise date');
        }
    }

Discussions similaires

  1. [1.x] Insertion date via formulaire (Oracle)
    Par doodoune dans le forum Symfony
    Réponses: 6
    Dernier message: 27/06/2011, 14h04
  2. renseigner un champ de type date via un formulaire
    Par manguigs dans le forum Langage
    Réponses: 9
    Dernier message: 17/05/2010, 01h00
  3. Réponses: 1
    Dernier message: 26/04/2010, 13h44
  4. Dates Française et Anglo-Saxones via formulaire
    Par Momostovoi dans le forum Contribuez
    Réponses: 0
    Dernier message: 09/06/2008, 11h18
  5. Comparaison de date entre formulaire et table indemandent
    Par FCL31 dans le forum Modélisation
    Réponses: 24
    Dernier message: 25/10/2007, 13h52

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