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 avec Checkbox


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut Calcul avec Checkbox
    Bonjour,

    J'ai un tableau créé dynamiquement suite à une requète SQL.
    Sur chaque ligne du tableau j'ai une checkbox dont la valeur correspond à un identifiant et un champs caché dont la valeur est variable (elle correspond à un montant en €).
    Je voudrais que lorsque l'utilisateur click sur une ou plusieurs "checkbox", que le ou les montants des champs cachés correspondants s'additionnent et qu'un champs "total" se remplisse automatiquement avec la valeur obtenue.

    Une partie de mon form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <input name="MTtotal" type="text" id="MTtotal" size="6" maxlength="8" value=""/>
     
    <input name="montant[]" type="hidden" value="<?php echo $montant ; ?>"  />
    <input name="idcoutmi[]" id="idcoutmi_<?php echo $row_RsCout['ID_COUTMI']; ?>" type="checkbox" value="<?php echo $row_RsCout['ID_COUTMI']; ?>" onclick="return calculmission();" />
    Ce que j'ai essayé de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function calculmission() {
    for (i=0;i<document.getElementsByName("idcoutmi[]").length;i++){
    	if(document.idcoutmi[i].checked){
    				document.MTtotal.value = ((document.MTtotal.value*1) + (document.montant[i].value*1)) ;
    	}
    }
    }
    Et bien entendu cela ne fonctionne pas ... sinon je ne serai pas là.

    Message d'erreur : Ligne 126 - Objet attendu
    Qui correspond à ceci :
    <input name="idcoutmi[]" id="idcoutmi_3" type="checkbox" value="3" onclick="return calculmission();">
    Merci de vos conseils

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    déjà un problème de syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['name_du_form'].elements['MTtotal'].value
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('MTtotal').value
    (uniquement parce qu'ici name=id)

    Et puis elle "return" quoi, calculmission() ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="return calculmission();"


    A+

  3. #3
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    calculmission() est la fonction JS que j'ai essayé de faire ...

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    document.forms['name_du_form'].elements["idcoutmi[]" ][i].value

  5. #5
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    J'ai modifié comme ceci, mais toujours même message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function calculmission() {
    for (i=0;i<document.getElementsByName("idcoutmi[]").length;i++){
    	if(document.forms['form'].elements["idcoutmi[]"][i].checked){
    				document.getElementById('MTtotal').value = ((document.getElementById('MTtotal').value*1) + (document.forms['form'].elements["montant[]"][i].value *1)) ;
    	}
    }
    }

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    envoye le code source de ta page, il doit avoir une autre erreur!

    getElementsByName deprecated peut etre...

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

Discussions similaires

  1. [JTree] Feuille avec CheckBox
    Par redtux dans le forum Composants
    Réponses: 4
    Dernier message: 27/10/2005, 20h11
  2. Mise en archive avec checkbox
    Par flo456 dans le forum ASP
    Réponses: 21
    Dernier message: 19/10/2005, 13h41
  3. [C#]Datagrid avec checkboxs et pagination
    Par kenzo080 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 19/07/2005, 07h10
  4. [C#] TreeView avec CheckBox "indeterminate"
    Par padumeur dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/01/2005, 20h53
  5. Réponses: 2
    Dernier message: 22/03/2004, 10h50

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