DamDamDeo a écrit :
> 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%"> </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 à 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 = do***ent.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,
Hi, Salut,
The french javascript forum is fr.comp.lang.javascript
Le forum francophone sur javascript est fr.comp.lang.javascript
Tu auras bien plus de chances d'avoir une réponse la-bas.
B.


|