Bonjour @ tous
je voudrais pouvoir réalisé un formulaire avec calcul automatique
je m'explique :
j'ai un formulaire HTML de ce type :
<form id="bcquery" name="bcquery" ...>
...
SOUS-TOTAL TTC
input type="text" name="stotalttc" id="stotalttc" value="1000" size="15" style="border:none" readonly="readonly" /
Remise
<input type="text" name="remise" id="remise" value="0" size="15" onchange="remise()" />
TOTAL TTC
<input type="text" name="totalttc" id="totalttc" value="0" size="15" style="border:none" readonly="readonly" />
Accompte :
<input name="accompte" id="accompte" value="0" size="15" type="text" onkeyup="reduire()" />
Restant :
<input type="text" name="restant" id="restant" value="0" size="15" style="border:none" readonly="readonly" />
et mes fonctions javascript :
// Fonction qui déduit du sous total TTC, le montant de la remise
function remise(){
with(document.forms.bcquery){
if(remise.value > nb){
remise.value = 0;
alert('Vous avez entré un accompte supérieur au montant !');
}
restant.value = parseInt(totalttc.value) - parseInt(accompte.value);
}
}
// Qui déduit du total TTC, le montant de l'accompte avec un test sur le montant
function reduire(){
var t=0;
var a=0;
with(document.forms.bcquery){
if(accompte.value > totalttc.value){
accompte.value = 0;
alert('Vous avez entré un accompte supérieur au montant !');
}
else
if( verification(totalttc.value) && verification(accompte.value)){
t = eval(totalttc.value);
a = eval(accompte.value);
restant.value = t - a;
}
}
}
--------------------
Problème :
1 : vue que je viens de rajouter la fonction pour la remise(), plus rien de fonctionne avec pour erreur 'Cette objet ne gère pas cette priorité ou cette méthode'
2 : si je retire la fonction remise(), ma fonction reduire marche a peu près correctement, a part pour les nombres à virgule, où ça déconne...
3 : concernant la fonction remise toujours, j'aimerais aussi que si l'utilisateur entre par exemple '10%', que ça puisse faire aussi le calcul
Comment dois-je m'y prendre ? ça fait des jours que je traîne et je ne trouve pas la solution pour ces problèmes...
Merci d'avance !