Calcul entre input
Résolu
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous !
J'ai un petit soucis dans mon tableau. La première zone (Quantite * Prix = Total) fonctionne, mais je n'arrives pas à attribuer aux autres zones de textes. Pouvez-vous me filer un petit coup de main svp ?
Merci de votre aide.
J'ai un petit soucis dans mon tableau. La première zone (Quantite * Prix = Total) fonctionne, mais je n'arrives pas à attribuer aux autres zones de textes. Pouvez-vous me filer un petit coup de main svp ?
<script type="text/javascript">
function calcul(){
var prix = Number(document.getElementById("Fr_Quantite").value);
var quantite = Number(document.getElementById("Fr_Prix").value);
var ttc = Number(prix * quantite);
document.getElementById("Fr_Total").value = ttc;}
</script>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" id="TableauJaquery1" class="Tableau">
<thead><tr>
<td align="center"><strong>Libellé</strong></td>
<td width="80" align="center"><strong>Quantité</strong></td>
<td width="100" align="center"><strong>Prix</strong></td>
<td width="100" align="center"><strong>Total</strong></td>
</tr></thead>
<tbody><?php $Stat = $pdo->query("SELECT * FROM ".$TB_PRODUITS." WHERE ".$PAYS."='1' AND Activer = 1 AND Stock = '1' ORDER BY Marque ASC; "); while($data = $Stat->fetch(PDO::FETCH_ASSOC)){ ?><tr>
<td align="left" valign="middle"><?php echo $data["Libelle"]." ".$data["Contenance"]; ?></td>
<td align="center" valign="middle"><input type="text" class="span2" id="Fr_Quantite" style="width:100%; text-align:center; margin:0;" maxlength="2" value="0" onblur="calcul()"></td>
<td align="right" valign="middle"><input type="text" class="span2" id="Fr_Prix" style="width:100%; text-align:right; margin:0;" maxlength="2" readonly value="<?php echo $data["Prix"]; ?>" onblur="calcul()"></td>
<td align="right" valign="middle"><input type="text" class="span2" id="Fr_Total" style="width:100%; text-align:right; margin:0;" maxlength="2" readonly value="0"></td>
</tr><?php ;} ?></tbody>
</table>
Merci de votre aide.
A voir également:
- Calcul entre input
- Calcul km marche à pied gratuit - Télécharger - Sport
- Input ou output ✓ - Forum Audio
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Calcul alimentation pc - Guide
4 réponses
Ah si ça y est ...j'ai compris....
Donc voici:
Tu noteras que j'ai indenté le code ... ce qui le rend grandement plus facile à lire.
Je t'invite à faire de même chez toi et aussi (et surtout !! ) lorsque tu postes du code sur le forum.
Donc voici:
<script type="text/javascript">
function calcul(i){
var prix = Number(document.getElementById("Fr_Quantite_"+i).value);
var quantite = Number(document.getElementById("Fr_Prix_"+i).value);
var ttc = Number(prix * quantite);
document.getElementById("Fr_Total_"+i).value = ttc;
}
</script>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" id="TableauJaquery1" class="Tableau">
<thead>
<tr>
<th align="center"><strong>Libellé</strong></th>
<th width="80" align="center"><strong>Quantité</strong></th>
<th width="100" align="center"><strong>Prix</strong></th>
<th width="100" align="center"><strong>Total</strong></th>
</tr>
</thead>
<tbody>
<?php
$Stat = $pdo->query("SELECT * FROM ".$TB_PRODUITS." WHERE ".$PAYS."='1' AND Activer = 1 AND Stock = '1' ORDER BY Marque ASC; ");
$i = 0;
while($data = $Stat->fetch(PDO::FETCH_ASSOC)){
?>
<tr>
<td align="left" valign="middle">
<?php echo $data["Libelle"]." ".$data["Contenance"]; ?>
</td>
<td align="center" valign="middle">
<input type="text" class="span2" id="Fr_Quantite_<?php echo $i;?>" style="width:100%; text-align:center; margin:0;" maxlength="2" value="0" onblur="calcul('<?php echo $i;?>')">
</td>
<td align="right" valign="middle">
<input type="text" class="span2" id="Fr_Prix_<?php echo $i;?>" style="width:100%; text-align:right; margin:0;" maxlength="2" readonly value="<?php echo $data["Prix"]; ?>" onblur="calcul('<?php echo $i;?>')">
</td>
<td align="right" valign="middle">
<input type="text" class="span2" id="Fr_Total_<?php echo $i;?>" style="width:100%; text-align:right; margin:0;" maxlength="2" readonly value="0">
</td>
</tr>
<?php
$i++;
}
?>
</tbody>
</table>
Tu noteras que j'ai indenté le code ... ce qui le rend grandement plus facile à lire.
Je t'invite à faire de même chez toi et aussi (et surtout !! ) lorsque tu postes du code sur le forum.
Bonjour,
Désolé .. mais je ne comprend pas la question....
Que veux dire :" mais je n'arrives pas à attribuer aux autres zones de textes" ?
TU n'arrives pas à attribuer... QUOI ? et à quelles "autres zones de texte" ?
De plus ta question concerne le code javascript ou ton code php ????
Si Javascript... pourquoi ne pas avoir posté dans le forum "javascript" ?
NB: Je constate que tu utilises PDO.
Ca n'a certainement rien à voir avec ton souci.... mais pour t'éviter de futurs soucis... je t'invite à appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Désolé .. mais je ne comprend pas la question....
Que veux dire :" mais je n'arrives pas à attribuer aux autres zones de textes" ?
TU n'arrives pas à attribuer... QUOI ? et à quelles "autres zones de texte" ?
De plus ta question concerne le code javascript ou ton code php ????
Si Javascript... pourquoi ne pas avoir posté dans le forum "javascript" ?
NB: Je constate que tu utilises PDO.
Ca n'a certainement rien à voir avec ton souci.... mais pour t'éviter de futurs soucis... je t'invite à appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Merci beaucoup Jordan ! Tu me sauve la vie :'(
Oui je sais que j'ai un petit (gros) soucis avec l'indentation quand je code... Je vais essayer d'y remédier :p
En tout cas merci beaucoup !
Oui je sais que j'ai un petit (gros) soucis avec l'indentation quand je code... Je vais essayer d'y remédier :p
En tout cas merci beaucoup !
Petite amélioration :
<script type="text/javascript">
function calcul(i) {
var prix = parseInt(document.getElementById("Fr_Quantite_" + i).value);
var quantite = parseInt(document.getElementById("Fr_Prix_" + i).value);
var ttc = parseInt(prix * quantite);
document.getElementById("Fr_Total_" + i).value = ttc;
$( function(){
total = 0;
$inputs = document.querySelectorAll("[id^='Fr_Total_']");
il=$inputs.length;
for(i=0; i<il;i++) {total += + document.querySelectorAll("[id^='Fr_Total_']")[i].value;}
document.getElementById("Resultat").innerHTML = total;
});
document.getElementById("Pourcentage").innerHTML = total-(total*20)/100;
}
</script>
<span id='Resultat'>0</span>
<span id='Pourcentage'>0</span>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" id="TableauJaquery1" class="Tableau">
<thead>
<tr>
<th align="center"><strong>Libellé</strong></th>
<th width="80" align="center"><strong>Quantité</strong></th>
<th width="100" align="center"><strong>Prix</strong></th>
<th width="100" align="center"><strong>Total</strong></th>
</tr>
</thead>
<tbody>
<?php
$Stat = $pdo->query("SELECT * FROM ".$TB_PRODUITS." WHERE ".$PAYS."='1' AND Activer = 1 AND Stock = '1' ORDER BY Marque ASC; ");
$i = 0;
while($data = $Stat->fetch(PDO::FETCH_ASSOC)){
?>
<tr>
<td align="left" valign="middle">
<?php echo $data["Libelle"]." ".$data["Contenance"]; ?>
</td>
<td align="center" valign="middle">
<input type="text" class="span2" id="Fr_Quantite_<?php echo $i;?>" style="width:100%; text-align:center; margin:0;" maxlength="2" value="0" oninput="calcul('<?php echo $i;?>')">
</td>
<td align="right" valign="middle">
<input type="text" class="span2" id="Fr_Prix_<?php echo $i;?>" style="width:100%; text-align:right; margin:0;" maxlength="2" readonly value="<?php echo $data["Prix"]; ?>" oninput="calcul('<?php echo $i;?>')">
</td>
<td align="right" valign="middle">
<input type="text" class="span2" id="Fr_Total_<?php echo $i;?>" style="width:100%; text-align:right; margin:0;" maxlength="2" readonly value="0">
</td>
</tr>
<?php
$i++;
}
?>
</tbody>
</table>