Calcul total avec des input aux id dynamique
stephy
-
stephy -
stephy -
Bonjour,
J'ai créé une fiche de commande dans un formulaire
lorsque que je saisie une qte de pdt le calcul 'prix*qte' s'effectue correctement et automatiquement
mais je n'arive pas a calculer le montant total automatiquement (je ne doit pas utiliser de bonton)
qlq1 pourrait-il m'aider?
merci d'avance!
J'ai créé une fiche de commande dans un formulaire
lorsque que je saisie une qte de pdt le calcul 'prix*qte' s'effectue correctement et automatiquement
mais je n'arive pas a calculer le montant total automatiquement (je ne doit pas utiliser de bonton)
qlq1 pourrait-il m'aider?
merci d'avance!
A voir également:
- Calcul total avec des input aux id dynamique
- Tableau croisé dynamique - Guide
- Total uninstall - Télécharger - Divers Utilitaires
- Total video converter - Télécharger - Conversion & Codecs
- Id telephone - Guide
- Comment calculer un total sur excel - Guide
7 réponses
Salut,
tu galères encore avec ton projet de boutique en ligne à ce que je vois ;)
alors en fait ton probleme c'est d'avoir une case avec le prix total de tous les produits c'est ça ???
sur chaque input ou tu as créé le qte*prix tu place un id (ex: totpdt1, totpdt2, etc....
et tu crée une fonction js qui lors d'un onblur du input du choix de la quantité va mettre à jour le input de prix total.
oublies pas de mettre un readonly à tes input de prix total.
et de créer un $_SESSION('total'] = le montant total.
tu galères encore avec ton projet de boutique en ligne à ce que je vois ;)
alors en fait ton probleme c'est d'avoir une case avec le prix total de tous les produits c'est ça ???
sur chaque input ou tu as créé le qte*prix tu place un id (ex: totpdt1, totpdt2, etc....
et tu crée une fonction js qui lors d'un onblur du input du choix de la quantité va mettre à jour le input de prix total.
oublies pas de mettre un readonly à tes input de prix total.
et de créer un $_SESSION('total'] = le montant total.
Suis je sur la bonne voix chef?
php ça peut aller mais js c pas la mm chose
code js :
<SCRIPT language="javascript" >
function calcul(){
var qte = Number(document.getElementById(qte".$i.").value);
var prix = Number(document.getElementById(prix".$i.").value);
var montant = Number(prix * qte);
document.getElementById("montant").value = montant;
}
</SCRIPT>
code php:
while ($row1 = mysql_fetch_row($result1))
{
if ($i<$nb)
{
echo "</td><td>";
//reference du produit
echo "<input id=\"ref".$i."\" name=\"ref".$i."\" value=\"$row1[0]\" size=\"4\">" ;
echo "</td><td>";
//designation du produit
echo "<input id=\"des".$i."\" name=\"des".$i."\" value=\"$row1[1]\" size=\"30\">" ;
echo "<td>";
//quantite du produit
echo "<input type=\"text\" id=\"qte".$i."\" name=\"qte".$i."\" value=\"\" onkeydown = \"document.getElementById('total".$i."').value = (this.value * document.getElementById('prix".$i."').value);\" size=\"5\" onblur =montant() >";
echo "</td><td>";
//unite du produit
echo "<input id=\"unite".$i."\" name=\"unite".$i."\" value=\"$row1[3]\" size=\"20\" readonly>" ;
echo "</td><td>";
//prix du produit
echo "<input type=\"text\" id=\"prix".$i."\" name=\"prix".$i."\" readonly value=\"$row1[2]\" />";
echo "</td><td>";
// echo "<input type=\"text\" id=\"total".$i."\" name=\"total".$i."\" readonly value=\"\" onBlur=\"document.getElementById('montant').value = (this.value + document.getElementById('montant').value);\">";
echo "<input type=\"text\" id=\"total".$i."\" name=\"total".$i."\" readonly value=\"\" >";
echo "</td>";
echo "</tr>";
$i=$i+1;
// $montant=$montant+$total;
}
}
php ça peut aller mais js c pas la mm chose
code js :
<SCRIPT language="javascript" >
function calcul(){
var qte = Number(document.getElementById(qte".$i.").value);
var prix = Number(document.getElementById(prix".$i.").value);
var montant = Number(prix * qte);
document.getElementById("montant").value = montant;
}
</SCRIPT>
code php:
while ($row1 = mysql_fetch_row($result1))
{
if ($i<$nb)
{
echo "</td><td>";
//reference du produit
echo "<input id=\"ref".$i."\" name=\"ref".$i."\" value=\"$row1[0]\" size=\"4\">" ;
echo "</td><td>";
//designation du produit
echo "<input id=\"des".$i."\" name=\"des".$i."\" value=\"$row1[1]\" size=\"30\">" ;
echo "<td>";
//quantite du produit
echo "<input type=\"text\" id=\"qte".$i."\" name=\"qte".$i."\" value=\"\" onkeydown = \"document.getElementById('total".$i."').value = (this.value * document.getElementById('prix".$i."').value);\" size=\"5\" onblur =montant() >";
echo "</td><td>";
//unite du produit
echo "<input id=\"unite".$i."\" name=\"unite".$i."\" value=\"$row1[3]\" size=\"20\" readonly>" ;
echo "</td><td>";
//prix du produit
echo "<input type=\"text\" id=\"prix".$i."\" name=\"prix".$i."\" readonly value=\"$row1[2]\" />";
echo "</td><td>";
// echo "<input type=\"text\" id=\"total".$i."\" name=\"total".$i."\" readonly value=\"\" onBlur=\"document.getElementById('montant').value = (this.value + document.getElementById('montant').value);\">";
echo "<input type=\"text\" id=\"total".$i."\" name=\"total".$i."\" readonly value=\"\" >";
echo "</td>";
echo "</tr>";
$i=$i+1;
// $montant=$montant+$total;
}
}
Presque ;)
//quantite du produit
echo "<input type=\"text\" id=\"qte".$i."\" name=\"qte".$i."\" value=\"\" onkeydown = \"document.getElementById('total".$i."').value = (this.value * document.getElementById('prix".$i."').value);\" size=\"5\" onblur =\"montant(".$i.");\" >";
// echo "<input type=\"text\" id=\"total".$i."\" name=\"total".$i."\" readonly value=\"\" onBlur=\"document.getElementById('montant').value = (this.value + document.getElementById('montant').value);\">"; le onblur ne sert à rien içi. car ton readonly evite de pouvoir modifier le montant. et le on blur s'execute quand tu quittes le focus d'un champ.
//quantite du produit
echo "<input type=\"text\" id=\"qte".$i."\" name=\"qte".$i."\" value=\"\" onkeydown = \"document.getElementById('total".$i."').value = (this.value * document.getElementById('prix".$i."').value);\" size=\"5\" onblur =\"montant(".$i.");\" >";
// echo "<input type=\"text\" id=\"total".$i."\" name=\"total".$i."\" readonly value=\"\" onBlur=\"document.getElementById('montant').value = (this.value + document.getElementById('montant').value);\">"; le onblur ne sert à rien içi. car ton readonly evite de pouvoir modifier le montant. et le on blur s'execute quand tu quittes le focus d'un champ.
ça me fait le mm problème que javais avant cad :
- le calule ne sexecute déja pas automatiquement (il faut appuyer sur des lignes pour que klk chose saffiche dans le montant total)
- le calcule ne se fait pas correctement, les valeur sajoutes les unes après les autres
arf :-( la galère
- le calule ne sexecute déja pas automatiquement (il faut appuyer sur des lignes pour que klk chose saffiche dans le montant total)
- le calcule ne se fait pas correctement, les valeur sajoutes les unes après les autres
arf :-( la galère
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c un "site" en local, dsl jc bien que ça doit pas etre facile a comprendre qd on voit pas...
(encore une fois merci de tes réponses!)
(encore une fois merci de tes réponses!)
avec le onblur=montant($i) tu as pensé à modifier ta fonction montant ??
function calcul(val){
var qte = Number(document.getElementById('qte'+val).value);
var prix = Number(document.getElementById('prix'+val).value);
var montant = Number(prix * qte);
document.getElementById("montant").value = montant;
}
function calcul(val){
var qte = Number(document.getElementById('qte'+val).value);
var prix = Number(document.getElementById('prix'+val).value);
var montant = Number(prix * qte);
document.getElementById("montant").value = montant;
}
Non ben enfaite ça ne fait plus rien pour le montant total
j'ai pe etre mal compris klk chose que tu mas di de faire
while ($row1 = mysql_fetch_row($result1))
{
if ($i<$nb)
{
echo "</td><td>";
//reference du produit
echo "<input id=\"ref".$i."\" name=\"ref".$i."\" value=\"$row1[0]\" size=\"4\">" ;
echo "</td><td>";
//designation du produit
echo "<input id=\"des".$i."\" name=\"des".$i."\" value=\"$row1[1]\" size=\"30\">" ;
echo "<td>";
//quantite du produit
echo "<input type=\"text\" id=\"qte".$i."\" name=\"qte".$i."\" value=\"\" onkeydown = \"document.getElementById('total".$i."').value = (this.value * document.getElementById('prix".$i."').value);\" size=\"5\" onblur =\"montant(".$i.");\" >";
echo "</td><td>";
//unite du produit
echo "<input id=\"unite".$i."\" name=\"unite".$i."\" value=\"$row1[3]\" size=\"20\" readonly>" ;
echo "</td><td>";
//prix du produit
echo "<input type=\"text\" id=\"prix".$i."\" name=\"prix".$i."\" readonly value=\"$row1[2]\" />";
echo "</td><td>";
echo "<input type=\"text\" id=\"total".$i."\" name=\"total".$i."\" readonly value=\"\" >";
echo "</td>";
echo "</tr>";
$i=$i+1;
// $montant=$montant+$total;
}
}
echo '<tr><td colspan="5" align="right">';
//on calcul ici le montant total
// echo '<b>Total HT </b>: </td><td>'.$montant. '€';
echo "<b>Total HT </b>: </td><td width=5><input type=\"text\" id=\"montant\" name=\"montant\" readonly value=\"\" />€";
echo '</td></tr><tr><td colspan="6">';
echo '</td></tr></table>';
//echo '<a href="exportation.php">CREER LA COMMANDE</a>';
echo '<input type="submit" value="CREER LA COMMANDE" name="commander" />';
echo '</form>';
js :
<SCRIPT language="javascript" >
function calcul(val){
var qte = Number(document.getElementById('qte'+val).value);
var prix = Number(document.getElementById('prix'+val).value);
var montant = Number(prix * qte);
document.getElementById("montant").value = montant;
}
</SCRIPT>
j'ai pe etre mal compris klk chose que tu mas di de faire
while ($row1 = mysql_fetch_row($result1))
{
if ($i<$nb)
{
echo "</td><td>";
//reference du produit
echo "<input id=\"ref".$i."\" name=\"ref".$i."\" value=\"$row1[0]\" size=\"4\">" ;
echo "</td><td>";
//designation du produit
echo "<input id=\"des".$i."\" name=\"des".$i."\" value=\"$row1[1]\" size=\"30\">" ;
echo "<td>";
//quantite du produit
echo "<input type=\"text\" id=\"qte".$i."\" name=\"qte".$i."\" value=\"\" onkeydown = \"document.getElementById('total".$i."').value = (this.value * document.getElementById('prix".$i."').value);\" size=\"5\" onblur =\"montant(".$i.");\" >";
echo "</td><td>";
//unite du produit
echo "<input id=\"unite".$i."\" name=\"unite".$i."\" value=\"$row1[3]\" size=\"20\" readonly>" ;
echo "</td><td>";
//prix du produit
echo "<input type=\"text\" id=\"prix".$i."\" name=\"prix".$i."\" readonly value=\"$row1[2]\" />";
echo "</td><td>";
echo "<input type=\"text\" id=\"total".$i."\" name=\"total".$i."\" readonly value=\"\" >";
echo "</td>";
echo "</tr>";
$i=$i+1;
// $montant=$montant+$total;
}
}
echo '<tr><td colspan="5" align="right">';
//on calcul ici le montant total
// echo '<b>Total HT </b>: </td><td>'.$montant. '€';
echo "<b>Total HT </b>: </td><td width=5><input type=\"text\" id=\"montant\" name=\"montant\" readonly value=\"\" />€";
echo '</td></tr><tr><td colspan="6">';
echo '</td></tr></table>';
//echo '<a href="exportation.php">CREER LA COMMANDE</a>';
echo '<input type="submit" value="CREER LA COMMANDE" name="commander" />';
echo '</form>';
js :
<SCRIPT language="javascript" >
function calcul(val){
var qte = Number(document.getElementById('qte'+val).value);
var prix = Number(document.getElementById('prix'+val).value);
var montant = Number(prix * qte);
document.getElementById("montant").value = montant;
}
</SCRIPT>
Ok je vais essayer de faire ça
je te dirais si ça marche