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 :

Calcul d'un champs automatiquement


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut Calcul d'un champs automatiquement
    Bonjour à tous,

    je suis débutante en JavaScript et j'aimerais avoir vos conseils pour réussir mon événement JavaScript :

    Dans mon formulaire (f_donnee_realisation) j'ai 2 champs texte :
    - vf_nb_diagnostic : Nb de diagnostic réalisé dans l'année
    - vf_nb_total_diagnostic : Total des diagnostics de toute les années entrées dans la BDD.

    J'aimerais un événement JavaScript qui permette de calculer automatiquement le champs "vf_nb_total_diagnostic" en y ajoutant le nombre entré dans le champs "vf_nb_diagnostic".

    Voici mes champs textes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td width="50%">Diagnostic(s) réalisé(s) ou en cours : <input type="text" name="vf_nb_diagnostic" value="Nb_Diagnostic"></td>
    <td>Total diagnostics : <input type="text" name="vf_nb_total_diagnostic" value="Total_Diagnostic" onChange="javascript:calculer();" READONLY /></td>
    Et la fonction JavaScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript">
    function calculer()
    {
    	document.f_donnee_realisation.vf_nb_total_diagnostic.value = parseInt(document.f_donnee_realisation.vf_nb_diagnostic.value) + parseInt(document.f_donnee_realisation.vf_nb_total_diagnostic_hidden.value) ; 
    }
    </script>
    Je récupère le total des diagnostics via une requête dans la BDD et je l'affiche dans le champs texte "vf_nb_total_diagnostic" ainsi que dans un champs texte invisible "vf_nb_total_diagnostic_hidden"

    Pour le moment rien ne marche, je suppose que je n'utilise pas le bon événement...

    Merci de votre aide !

  2. #2
    Expert éminent sénior

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

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

    Vous déclarez un onchange sur un champ readonly. Le onchange ne se lancera pas. Il doit être précisé sur l'autre champ, celui dont la valeur change par la main de l'utilisateur.

    Par contre je n'ai pas compris où et comment vous récupériez le total. Au chargement de la page ou bien à chaque onchange ?

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut
    Bonjour et merci pour la réponse rapide !

    Le total des diagnostics est affiché au chargement de la page dans le champs vf_nb_total_diagnostic. Il est calculé grâce à une requête SQL et une boucle dans le fichier PHP.

    Ok pour l'événement OnChange, je ne savais pas qu'elle ne s'utilisait pas sur un READONLY... En + un gros manque de logique !

    Nous avons un problème sur le serveur, je ne peux pas tester pour le moment. Dès que j'ai pu essayer je vous tiens au courant.

    Merci à vous :-)

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut
    Ça fonctionne !! Merci beaucoup !

    Par contre, avec l'événement "OnChange" le calcul se fait après avoir cliqué hors du champs de saisie. Y a t-il un événement qui permet de modifier automatiquement le total au fur et à mesure de la saisie ?

  5. #5
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Moui, je dirais onkeyup.

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 56
    Points
    56
    Par défaut
    Tout simplement parfait ! Merci beaucoup pour votre aide !

    Bonne journée !

  7. #7
    Expert éminent sénior

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Tout compte fait, le onkeyup ne convient pas. Le résultat sera faux.

    Vous entrez : 123
    Il caclul : 0 + 1 + 12 + 123 = 136



    Edit: Haaaa non, je n'ai rien dit, vous avez le total en hidden donc le calcul sera correct.

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

Discussions similaires

  1. [AC-2007] calculer un champ automatiquement
    Par affaf09 dans le forum Access
    Réponses: 3
    Dernier message: 18/06/2015, 19h45
  2. Réponses: 10
    Dernier message: 03/03/2009, 11h46
  3. incrementer un champ automatiquement
    Par vijeo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/01/2005, 22h01
  4. Calcul dans des champs de saisie
    Par leeloo076 dans le forum ASP
    Réponses: 4
    Dernier message: 07/04/2004, 10h09
  5. calcul entre 2 champs time
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 19/02/2003, 10h12

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