Google Groups Home Help | Sign in
Message from discussion Calcul instantané
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
DamDamDeo  
View profile
 More options May 8, 3:08 pm
Newsgroups: comp.lang.javascript
From: DamDamDeo <dam.courr...@gmail.com>
Date: Thu, 8 May 2008 12:08:04 -0700 (PDT)
Local: Thurs, May 8 2008 3:08 pm
Subject: Calcul instantané
Bonjour à tous,
je permets ce petit message, ceci afin de soliciter votre aide sur un
petit problème...

Voici mon formulaire (du moins une partie) :

[code]
<body>
<form name="form1" method="post" action=""><table width="389"
border="1">
 <table width="46%" border="0" cellspacing="2" cellpadding="0">
                  <tr>
                    <td width="29%">&nbsp;</td>
                    <td width="22%"><div
align="center"><strong>acteur</strong></div></td>
                    <td width="25%"><div
align="center"><strong>chanteur</strong></div></td>
                    <td width="24%">total</td>
    </tr>
                  <tr>
                    <td>Adultes</td>
                    <td>

                          <input name="ch_acteur_adultes" type="text"
id="ch_acteur_adultes" size="10" onchange="add()"/

>                      </td>

                    <td>
                      <input name="chanteur_adulte" type="text"
id="chanteur_adulte" size="10" onchange="add()"/>                    </
td>
                    <td><input name="total_adultes" type="text"
id="total_adultes" size="10" style="border:solid 2px  #FF6600"
readonly="true"/></td>
                  </tr>
                  <tr>
                    <td>De 12 &agrave; 18 ans</td>
                    <td>
                      <input name="ch_acteur_18" type="text"
id="ch_acteur_18" size="10" onchange="add()"/>                    </
td>
                    <td>
                      <input name="chanteur_18" type="text"
id="chanteur_18" size="10" />                    </td>
                    <td><input name="total_18" type="text"
id="total_18" size="10" style="border:solid 2px  #FF6600"
readonly="true"/></td>
                  </tr>
                  <tr>
                    <td>Moins de 12 ans</td>
                    <td>
                        <input name="ch_acteur_12" type="text"
id="ch_acteur_12" size="10" onchange="add()"/>                    </
td>
                    <td>
                        <input name="chanteur_12" type="text"
id="chanteur_12" size="10" />                   </td>
                    <td>
                      <input name="total_12" type="text" id="total_12"
size="10" style="border:solid 2px  #FF6600" readonly="true"/
>                   </td>

                  </tr>
                  <tr>
                    <td>total</td>
                    <td><input name="total_acteur" type="text"
id="total_acteur" size="10" style="border:solid 2px  #FF6600"
readonly="true"/></td>
                    <td><input name="total_chanteur" type="text"
id="total_chanteur" size="10" style="border:solid 2px  #FF6600"
readonly="true"/></td>
                    <td><input name="total" type="text" id="total"
size="10" style="border:solid 2px  #FF6600" readonly="true"/></td>
                  </tr>
                </table>

</form>

</body>
[code]

Le but de ce formulaire est de calculer le nb d'adhérents pour chaque
catégorie, et pour cela, j'utilise le petit script suivant :

[code]
<script type="text/javascript">
function purge(nbre) {
// conversion séparateur ',' en '.'
nbre = nbre.replace(',','.');
// recherche et remplacement de caractères non désirés
nbre = nbre.replace(/([^0-9 ^.]|\.{2,5}|\s)/g,'');
return nbre;

}

function add() {
var f = document.forms[0];
var tot = 0;
// pour chaque élément du formulaire
for(var i=0; i<f.length; i++) {
// si c'est un champ de texte et dont le nom commence par 'ch_'
if(f[i].type=='text' && f[i].name.indexOf('ch_')>=0) {
// correction du contenu du champ
f[i].value = purge(f[i].value);
// ajout de cette valeur à la variable 'tot'
tot += f[i].value*1;
// comme la valeur d'un champ est de type texte
// on l'a transformée en nombre (en le multipliant par 1)
// avant de faire l'addition
}
}

// insertion du résultat
f['total_acteur'].value = tot;
}

</script>

[/code]

Mon soucis est que ce script ne me permet pas de faire plusieurs
calculs dans un même formulaire.
Comment remédier à ce soucis qui commence à me hanter depuis plusieurs
jours maintenant.

D'avance merci,


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google