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 :

Interdire l’accès au moins de 18a dans un verifForm(f)


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2012
    Messages : 50
    Par défaut Interdire l’accès au moins de 18a dans un verifForm(f)
    Bonjour,

    Dans un formulaire, j'ai des champs nom, prenom, etc.... et un champs date de naissance, je voudrais pouvoir interdire enregistrement du formulaire a une personne qui a moins de 18a.
    J'ai un champ hidden qui calcul cette date, mais je n'arrive pas a bloquer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(f.date_naissance.value > f.date_naissance_limit) { alert('Vous devez avoir 18 ans !'); f.date_naissance.focus(); return false }
    Ce code ne fonctionne pas...

    merci de votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Salut,

    Tu as peut-être une erreur quand tu récupère f... et je comprends pas trop l'histoire du champ de type hidden. Il faudrait que tu nous montre ton formulaire si tu veux qu'on t'en dise plus.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2012
    Messages : 50
    Par défaut
    Bonjour,

    voila mon extrait de mon formulaire je détermine la date du jour moins 18a pour savoir si l'utilisateur peut remplir le formulaire

    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
    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
    <?php 
    $date_jour==date("Y-m-d");
    $date_naissance_limit=date( "Y-m-d", strtotime( "$date_jour -18 year" ) );
    ?>
     
    <form id="form1" name="form1" method="post" action="step01b.php?lang=<?php echo $lang ?>"  target="_parent" onSubmit="return verifForm(this);"/>
    <input name="date_naissance_limit" type="hidden" id="date_naissance_limit" value="<?php echo $date_naissance_limit ?>" />
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="2" colspan="3" bgcolor="#000000"></td>
      </tr>
      <tr>
        <td width="4%">&nbsp;</td>
        <td width="92%"><input type="text" name="firstName_r" id="firstName_r" placeholder="<?php echo TXT_FORMULAIRE03 ?>" autocomplete="off"  value="<?php echo $prenom ?>"></td>
        <td width="4%">&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input type="text" name="lastName_r" id="lastName_r" placeholder="<?php echo TXT_FORMULAIRE09 ?>"  value=""></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input type="password" name="password" id="password" placeholder="<?php echo TXT_FORMULAIRE04 ?>" autocomplete="off" value="<?php echo $password ?>"></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input type="text" name="email" id="email" placeholder="<?php echo TXT_FORMULAIRE05 ?>" autocomplete="off"  value="<?php echo $email ?>"></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td height="5" colspan="3"></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td height="5" colspan="3"></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><div data-demo-html="true">
            <label for="month-1"><?php echo TXT_FORMULAIRE12 ?></label>
            <input type="date" data-clear-btn="true"  name="date_naissance" id="date_naissance" value="">
          </div></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><div class="ui-field-contain">
            <input type="submit" id="submit-1" value="<?php echo TXT_BOUTON_ENREGISTR ?>" />
          </div></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td></td>
        <td>&nbsp;</td>
      </tr>
    </table>
    </form>


    et j'ai mon javascript pour vérifier le formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function verifForm(f) { 
    if(!f.firstName_r.value) { alert('<? echo TXT_CHAMPOBLIG14 ?>'); f.firstName_r.focus(); return false }
    if(!f.lastName_r.value) { alert('<? echo TXT_CHAMPOBLIG23 ?>'); f.lastName_r.focus(); return false }
    if(f.lastName_r.value.length<2){ alert('<? echo TXT_CHAMPOBLIG20E ?>'); f.lastName_r.focus(); return false }
    if(f.lastName_r.value.length>30){ alert('<? echo TXT_CHAMPOBLIG20D ?>'); f.lastName_r.focus(); return false }
    if(!f.date_naissance.value) { alert('<? echo TXT_CHAMPOBLIG29 ?>'); f.date_naissance.focus(); return false }
    if(f.date_naissance.value > f.date_naissance_limit) { alert('Vous devez avoir 18 ans !'); f.date_naissance.focus(); return false }
    }
    Pour le champ qui calcul la date -18a, je l'ai mis en hidden pour que l'utilisateur ne le vois pas, j'ai ça comme cela car je ne sais pas comment le faire en javascript, c’était plus simple pour moi.

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Salut,

    Je vois déjà une première erreur avec $date_jour==date("Y-m-d");. Une double égalité sert pour tester une condition et non pas pour définir une variable.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2012
    Messages : 50
    Par défaut
    Bonjour,

    Oui tu as raison, ça c'est une faute d'inattention de ma part.... et il n'y pas que celle la... je devais être fatigué

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(f.date_naissance.value>f.date_naissance_limit.value) { alert('Vous devez avoir 18 ans !'); f.date_naissance.focus(); return false }
    Je n'avais pas mis la valeur après "f.date_naissance_limit"...

    Du coup cela marche..
    Je m'excuse du dérangement !

    merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/03/2011, 09h53
  2. Interdire temporairement l'accès à MySql
    Par lodan dans le forum MySQL
    Réponses: 2
    Dernier message: 27/11/2009, 08h59
  3. Réponses: 4
    Dernier message: 29/01/2007, 14h43
  4. acces refuser a un poste dans reseau
    Par adil_math2006 dans le forum Administration
    Réponses: 1
    Dernier message: 19/10/2006, 07h52
  5. Problème d'accès à une fonction js insérée dans un div via XSLT
    Par Piper1664 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/07/2006, 11h58

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