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 :

Insérer une valeur dans value avant envoi du formulaire


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut Insérer une valeur dans value avant envoi du formulaire
    Hello!
    Merci de prendre le temps de lire, c'est gentil.

    Bon j'ai un soucis, je veux permettre à l'utilisateur de saisir sa date de naissance ou une date avec un calendrier Js:



    Ensuite je veux calculer l'age que ca fait et l'intégrer dans l'html. Les deux code Js fonctionne, mais je ne vois pas comment passer ca au html, ou plutot je n'y arrive pas.

    Voila ce que j'ai en html:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <td valign="top">{$e.q_question} </td>
           <td valign="top">
     
           {if $e.q_field=="23"}
     
               <script>DateInput('e_{$e.q_field}', true, 'YYYY-MM-DD', '{$e.q_value}')</script>
     
           {elseif $e.q_field=="16"}
     
               <input type="text" name="e_{$e.q_field}" size="{$e.q_size}" value="$e.q_value" />
    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
    function displayage(unit, decimal, round, name){
        var yr=(dateFinie.substring(0,4));
        var mon=(dateFinie.substring(5,7));
        var day=(dateFinie.substring(8));
        today=new Date()
        var pastdate=new Date(yr, mon-1, day)
    
        var countunit=unit
        var decimals=decimal
        var rounding=round
    
        finalunit=(countunit=="days")? one_day : (countunit=="months")? one_month : one_year
        decimals=(decimals<=0)? 1 : decimals*10
    
        if (unit!="years"){
            if (rounding=="rounddown")
                document.write(Math.floor((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals+" "+countunit)
            else
                document.write(Math.ceil((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals+" "+countunit)
        }
        else{
            yearspast=today.getFullYear()-yr-1
            tail=(today.getMonth()>mon-1 || today.getMonth()==mon-1 && today.getDate()>=day)? 1 : 0
            pastdate.setFullYear(today.getFullYear())
            pastdate2=new Date(today.getFullYear()-1, mon-1, day)
            tail=(tail==1)? tail+Math.floor((today.getTime()-pastdate.getTime())/(finalunit)*decimals)/decimals : Math.floor((today.getTime()-pastdate2.getTime())/(finalunit)*decimals)/decimals
            document.forms["itemForm"].elements["e_16"].value='yearspast';
            alert("passe")    }
    }
    Donc ce que je penserais faire c'est mettre un onSubmit sur le formulaire, qui appelle ma fonction de calcul de l'age et dans cette fonction modifier la value de mon input text. Ainsi la valeur est dans le formulaire et arrive au php.

    Des idées?

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Points : 31
    Points
    31
    Par défaut
    Par exemple :

    Tu pourrais rajouter dans ton html un champ <input type=hidden name=age value=0>.

    Dans ta méthode de calcul de l'age, tu mets à jour le contenu de cet input.
    Tu pourras donc récuperer la valeur de l'input age dans ton php

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Oui... C'est ce que j'essaie de faire à l'aide de cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms["itemForm"].elements["e_16"].value='yearspast';
    et qui ne marche pas...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 24
    Points : 31
    Points
    31
    Par défaut
    Avec cette ligne, tu mets juste une chaine de caractères dedans..

    edit: Enlève les quotes autour, ça marchera p-e mieux

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/12/2009, 16h02
  2. insérer une valeur dans la bdd
    Par Kougar63 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/07/2009, 16h14
  3. Insérer une valeur dans un sous formulaire par double clic
    Par Shifty62 dans le forum VBA Access
    Réponses: 9
    Dernier message: 26/01/2009, 19h11
  4. insérer une valeur dans un array
    Par Sh4dow49 dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2008, 18h32
  5. Probleme pour insérer une valeur dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 30/05/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