D
DamDamDeo
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) :
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,
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()"/[QUOTE]
</td>[/QUOTE]
<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"/[QUOTE]
</td>[/QUOTE]
</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>
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,