Php javascript
borhen
-
Zep3k!GnO Messages postés 2025 Date d'inscription Statut Membre Dernière intervention -
Zep3k!GnO Messages postés 2025 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai une formulaie qui contient des zones textes qui affichent des valeurs a partir d'une BD MySql, devant chaque zone texe j'ai des checkbox. le programme connsiste à : le programme doit faire un calcule des zone texte dont la chexbox qui se trouve devant est coché est l'affiche dans une autre zone texte. le calcule doit être fait quand je coche la zone texte c. a. d. la valeur doit etre calculé au fire et au mesure que je coche une zone texte. le probléme c'est que le programme ne soustracte pas la valeur du zone de texte lorsque je decoche le checkbox que pour la 1ér checkbox que je la coche é je la décoche.
// Script de la fonction qui faire le calcul
<script type="text/javascript">
function TotalPayer(rest)
{
if (document.form1.aregler[0].checked ==true)
{
var x =document.form1.apayer.value;
var z= parseFloat(rest) + parseFloat(x);
document.form1.apayer.value = z;
}
else
{
var x =document.form1.apayer.value;
var z= parseFloat(rest) - parseFloat(x);
document.form1.apayer.value = z;
}
}
</script>
// formulaire
<form name="form1">
while ($l = mysql_fetch_array($req))
{
<table>
<tr>
<td>
<input type="text">
</td>
<td >
<input name="aregler" type="checkbox" value="<?php echo $restant; ?>" onClick="TotalPayer(this.value)">
</td>
</table>
}
<input type="text" name="apayer" value="<?php echo '0.000'; ?>" readonly="true">
</form>
// Script de la fonction qui faire le calcul
<script type="text/javascript">
function TotalPayer(rest)
{
if (document.form1.aregler[0].checked ==true)
{
var x =document.form1.apayer.value;
var z= parseFloat(rest) + parseFloat(x);
document.form1.apayer.value = z;
}
else
{
var x =document.form1.apayer.value;
var z= parseFloat(rest) - parseFloat(x);
document.form1.apayer.value = z;
}
}
</script>
// formulaire
<form name="form1">
while ($l = mysql_fetch_array($req))
{
<table>
<tr>
<td>
<input type="text">
</td>
<td >
<input name="aregler" type="checkbox" value="<?php echo $restant; ?>" onClick="TotalPayer(this.value)">
</td>
</table>
}
<input type="text" name="apayer" value="<?php echo '0.000'; ?>" readonly="true">
</form>
A voir également:
- Php javascript
- Easy php - Télécharger - Divers Web & Internet
- Telecharger javascript - Télécharger - Langages
- Expert php pinterest - Télécharger - Langages
- A javascript error occurred in the main process - Forum Windows
- A javaScript error occurred in the main process - Forum Handicap / Accessibilté
1 réponse
Salut, bon en fait y a plusieurs petits trucs a changer a ton code :
déjà la balise script :
<script type="text/javascript">
function TotalPayer(rest, num)
{
var x =document.form1.apayer.value;
if (document.form1.aregler[num].checked ==true)
{
var z= parseFloat(x) + parseFloat(rest) ;
}
else
{
var z= parseFloat(x) - parseFloat(rest);
}
document.form1.apayer.value = z;
}
</script>
puis dans le code
Moi j'ai mis un foreach mais c'est juste pour tester vite fait...
<?php
$aTest = Array(15,10,20);
$iCpt = 0;
foreach($aTest as $restant){
?>
<table>
<tr>
<td>
<?php echo $restant; ?>
</td>
<td >
<input name="aregler" type="checkbox" value="<?php echo $restant; ?>" onClick="TotalPayer(this.value, <?php echo $iCpt;?>)">
</td>
</table>
<?php
$iCpt++;
}
?>
Voilà, j'te laisse voir ça ;)
déjà la balise script :
<script type="text/javascript">
function TotalPayer(rest, num)
{
var x =document.form1.apayer.value;
if (document.form1.aregler[num].checked ==true)
{
var z= parseFloat(x) + parseFloat(rest) ;
}
else
{
var z= parseFloat(x) - parseFloat(rest);
}
document.form1.apayer.value = z;
}
</script>
puis dans le code
Moi j'ai mis un foreach mais c'est juste pour tester vite fait...
<?php
$aTest = Array(15,10,20);
$iCpt = 0;
foreach($aTest as $restant){
?>
<table>
<tr>
<td>
<?php echo $restant; ?>
</td>
<td >
<input name="aregler" type="checkbox" value="<?php echo $restant; ?>" onClick="TotalPayer(this.value, <?php echo $iCpt;?>)">
</td>
</table>
<?php
$iCpt++;
}
?>
Voilà, j'te laisse voir ça ;)