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

jQuery Discussion :

Date supérieure => champs grisé


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 124
    Par défaut Date supérieure => champs grisé
    Bonsoir,

    Dans mon formulaire, j'ai un champ date.

    J'aimerais que, lorsqu'une date sélectionnée est supérieure à la date du jour, les autres champs se grisent.

    Je ne m'y connais pas en JS, donc si quelqu'un peut me mettre sur la voie.

    Merci

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Regardez ici pour désactiver les champs : http://javascript.developpez.com/faq...Objs#TextCheck

    Et ici pour comparer les dates : http://javascript.developpez.com/faq...dates.comparer

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 124
    Par défaut
    Merci pour les liens.
    je suis en train de faire une soupe avec ces codes... je ne m'y connais pas en JS, tu aurais un peu plus de temps pour m'expliquer stp?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 124
    Par défaut
    J'ai trouvé un bout de code que j'ai modifié et qui me convient presque parfaitement

    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
    $(document).ready(function() {
    var now = new Date();
    var annee   = now.getFullYear();
    var mois    = now.getMonth() + 1;
    var jour    = now.getDate();
     
        $('input[name="date_chq"]').keyup(function() {
        var $f = $('input[name="num_chq"]');
            ($(this).val() > ""+jour+"/"+mois+"/"+annee+"") ? $f.attr('disabled', true) : $f.attr('disabled', false);
        var $f = $('input[name="encaisse_chq"]');
            ($(this).val() > ""+jour+"/"+mois+"/"+annee+"") ? $f.attr('disabled', true) : $f.attr('disabled', false);
     
    <input type="text" name="date_chq" /><br />
    <input type="text" name="num_chq" /><br />
    <input type="text" name="encaisse_chq" />
    Comme ceci, ça fonctionne. Les input se grisent en fonction de la date.

    Mon soucis est que j'utilise datepicker. Et la ça ne fonctionne plus. De la même maniere si je remplace "text" par "date" ça ne fonctionne pas mieux.

    Quelqu'un a une idée?

  5. #5
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Qu'entendez-vous par "Mon soucis est que j'utilise datepicker." ?

  6. #6
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par jimmo Voir le message
    Mon soucis est que j'utilise datepicker. Et la ça ne fonctionne plus. De la même maniere si je remplace "text" par "date" ça ne fonctionne pas mieux. Quelqu'un a une idée?
    Il faut transformer le texte de l'input Datepicker en objet Date en fonction de la structure du texte. La structure du texte est donnée par le format imposé au Datepicker.

    Pour :

    Code JS : 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
        $.datepicker.regional['fr'] = {
            closeText: 'Fermer',
            prevText: 'Précédent',
            nextText: 'Suivant',
            currentText: 'Aujourd\'hui',
            monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
                'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
            monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin',
                'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
            dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
            dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
            dayNamesMin: ['D','L','M','M','J','V','S'],
            weekHeader: 'Sem.',
            dateFormat: 'dd/mm/yy',
            firstDay: 1,
            isRTL: false,
            showMonthAfterYear: false,
            yearSuffix: ''
        };
     
        $.datepicker.setDefaults( $.datepicker.regional[ 'fr' ] );

    Avec ce code le format du texte est toujours 'dd/mm/yy', exemple : 01/01/2014.

    Pour transformer ce texte en Date :

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var dateStr = $.trim( $( "#datepicker" ).val() );
     
    var date = new Date(
        dateStr.slice( 6 ), // yyyy
        parseInt( dateStr.slice( 3, 5 ), 10 ) - 1, // mm - 1
        parseInt( dateStr.slice( 0, 2 ), 10 )  // dd
    );

    Exemple

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. cocher checkbox = affecter la date dans un champ de saisie
    Par cari dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 19/01/2006, 13h50
  2. Réponses: 12
    Dernier message: 27/10/2005, 13h06
  3. Récupérer la date dans un champ
    Par david71 dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 21/09/2005, 16h44
  4. Comment fixer une date dans un champ !
    Par LATHIOS dans le forum Access
    Réponses: 8
    Dernier message: 17/06/2005, 19h44
  5. Réponses: 3
    Dernier message: 23/09/2003, 09h12

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