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 valeur champ input


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 32
    Points : 13
    Points
    13
    Par défaut Calcul valeur champ input
    Bonjour,

    Je cherche pour un site à calculer dynamiquement la somme de plusieurs champs input.

    Mon problème est que je ne connais pas à l'avance le nom des champs et le nombre de champs.

    En gros j'ai un tableau dont le nombre de champ n'est jamais le même. A l'intérieur on y saisie de chiffres. Je souhaite faire l'addition de tous les chiffres de tous les champs.

    Merci d'avance pour votre aide.
    Forum de l'association Galaxy
    http://galaxy.no-ip.biz
    Club d'informatique

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    magicResult = magicSum(allMagicRequests)
    Sincèrement, comment veux-tu que l'on puisse t'aider avec si peu d'informations ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut

    Et avec la nouvelle version ffx 3.5 l'addon Boule de cristal n'est plus valide
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 32
    Points : 13
    Points
    13
    Par défaut
    erf désolé

    Je vais essayé de vous donner plus d'informations.

    J'ai un tableau dynamique dont le nombre de ligne affiché n'est jamais identique. Dans ce tableau il a un certain nombre de colonne.

    Histoire de comprendre un peu mieux voici un lien direct vers la page en question : http://www.angels-light.fr/montesson...ournitures.php

    Les champs input de chaque ligne possède un identifiant unique de la forme suivant
    id="fournXX_servYY"
    XX étant le n° de la fourniture
    YY étant le n° du service

    La page en question permet de lister des demandes de fournitures par service.

    Mon problème se trouve au moment de l'enregistrement lorsque j'ai un nombre de demande suppérieur à mon stock.

    Je cherche dans un premier temps un moyen de modifier la valeur se trouvant dans la colonne "Total demande".
    Si je change la valeur d'un des champ input, j'aimerai que la valeur de tous les champs ayant le même numéro de fourniture mais ayant un n° de service s'additionne.
    L'étape d'après sera au moment de l'enregistrement mais bon c'est déjà une autre histoire.
    Forum de l'association Galaxy
    http://galaxy.no-ip.biz
    Club d'informatique

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    D'après ce que je comprends du problème :
    • Tu as différents inputs par ligne.
    • Tu n'en connais pas le nombre.
    • Tu connais l'id d'un éventuel input sur la ligne mais rien ne te permet de savoir s'ils existent.
    • Tu souhaite récupérer tous les input de la ligne uniquement.

    Si c'est bien cela, la meilleure solution qui me vienne serait :
    - D'affecter un événement onchange sur tous les input de ton tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var base = document.getElementById('table_fournitures').getElementsByTagName('input');
    var compteur = base.length;
    while(compteur){
        compteur--;
        base[compteur].onchange = function(){compte(this)};
    }
    ensuite, dans ta fonction, tu remontes sur le tr, tu récupères tous les input et tu additionnes leurs valeurs pour l'insérer dans la cellule souhaitée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function compte(ref){
        while(ref.tagName != "TR"){
            ref = ref.parentNode;
        }
        var total = 0, count = ref.getElementsByTagName('input'), i = count.length;
        while(i){
            i--;
            total += parseInt(count[i].value,10);
        }
        ref.getElementsByTagName('td')[2].innerHTML = total;
    }
    et ça devrait le faire

    EDIT : Il y avait une erreur sur le positionnement de la ligne i--, c'est rectifié !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 32
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup Bovino pour tes réponses plus que rapide.

    Je vais tester cela rapidement mais ca sent bon :-)
    Forum de l'association Galaxy
    http://galaxy.no-ip.biz
    Club d'informatique

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    oui sinon pour mettre la main sur les bons inputs :
    http://www.developpez.net/forums/d75...filtre-regexp/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 32
    Points : 13
    Points
    13
    Par défaut
    Merci Space, je vais regarder cela de plus prêt.

    Je viens de tester le code que tu m'as composé Bovino et c'est tout simplement génial.

    Encore merci d'avoir pris le temps de m'aider.

    Je vais essayé de reussir a faire les enregistrement maintenant.

    Bon dimanche à tous.
    Forum de l'association Galaxy
    http://galaxy.no-ip.biz
    Club d'informatique

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

Discussions similaires

  1. Récuperer valeur champ input file
    Par llaffont dans le forum jQuery
    Réponses: 8
    Dernier message: 18/11/2010, 19h34
  2. calcul automatique valeur champ input
    Par ekahrd dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/12/2009, 11h16
  3. Récuperer valeur champ input file
    Par Shandler dans le forum jQuery
    Réponses: 9
    Dernier message: 14/01/2009, 12h11
  4. Transmission valeur champ input vers datetimepicker
    Par curunir dans le forum Struts 2
    Réponses: 0
    Dernier message: 28/11/2008, 12h21
  5. [debutant] incrementer valeur champ input text
    Par ilood dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/07/2005, 13h21

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