Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [Formulaire] Reduction [ Archives / AU SECOURS !!! ] (Loser)

vendredi 7 avril 2006 à 14:50:07 | [Formulaire] Reduction

Loser

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 !



vendredi 7 avril 2006 à 15:04:40 | Re : [Formulaire] Reduction

Loser

Edit : la fonction reduire c'est celle la (sans verification() )

function reduire(){

var t=0;
var a=0;

with(document.forms.bcquery){

if(totalttc.value < accompte.value){

alert('Vous avez entré un accompte supérieur au montant !');
accompte.value = 0;

}
else

t = eval(totalttc.value);
a = eval(accompte.value);

restant.value = parseFloat(t - a);

}
}

}

vendredi 7 avril 2006 à 18:11:48 | Re : [Formulaire] Reduction

Loser

Réponse acceptée !
enfin j'ai trouvé... apparement le fait de créer 2 fonctions qui controle le même formulaire, ça fonctionne pas...

donc du coup j'ai trouvé (grâce à certain script du site et sur google après recherche...)

j'ai bidouillé ceci (vive le copier/coller, un peu de reflexion et ça roule) :

// Reduction commercial

function reduire(type){

with(document.forms.bcquery){

// Remise
if(type== "remise"){

var pattern = '[%]';
var reg = new RegExp(pattern, 'g');

if ( reg.test(remise.value) ){

var nb = (remise.value.replace('%',''))/100;

remise_total = stotalttc.value*nb;
remise_total = remise_total.toFixed(2);

totalttc.value = ( parseFloat(stotalttc.value) ) - ( parseFloat(remise_total) );

}
else{

remise_total = parseFloat(remise.value);
remise_total = remise_total.toFixed(2);

totalttc.value = parseFloat(stotalttc.value) - parseFloat(remise.value);

}


}

// Accompte
if(type == "accompte"){

var t = parseFloat(totalttc.value);
var a = parseFloat(accompte.value);

if(t < a){

alert('Vous avez entré un accompte ('+a+') supérieur au montant ('+t+') !');
accompte.value = 0;

}
else{
reste = (t - a);
reste = reste.toFixed(2);
restant.value = reste;

}

}
}
}



Cette discussion est classé dans : fonction, value, montant, remise, accompte


Répondre à ce message

Sujets en rapport avec ce message

Fonction avec parametres [ par lotr ] Bonjour,Voila mon pb : j'utilise une fonction JS qui rend une liste selectionnable/deselectionnable selon qu'une checkbox est cochee/decochee.Ma fonct Function SQL ? [ par Noel92 ] Bonjour à tous,Je fais un formulaire qui fait appel à la fonction Comment (ci-dessous) dans un select OnChange. L'idée est d'avoir un prix unitaire et Fonction qui déconne !!! [ par rasjah ] Bonjour, j'ai fait une fonction javascript qui verifie deux valeur mais lors du chargement de la page, j'ai une erreur que je ne trouve pas.Si kelk1 c Fonction ajout d'un point final : Votre avis. [ par Mike Phoenix ] Bonjour à tous,Je suis débutant et je viens de créer ma première fonction tout seul.Elle fonctionne très bien, mais je ne suis pas certain d'avoir pro parsefloat??? [ par abari ] Bjr tt le monde, Probléme avec parseFloat ???J'ai Un montant  formaté sous le format suivante 1 234.00 par la fonction FormatNumber(1234,2) dans une f l'attribut value des type="file" fout la merde !! [ par JahSon777 ] Boujour, J'ai un probleme, je voudrais pouvoir changer lattribut value d'un type="file" par une adresse url, mais le probleme cest que dès que jacced Transfère de variable vers fonction [ par nashoy ] Bonjour à tous,J'ai un petit problerme ; donc voila en fait j'ai une fonction (que j'ai simplifié ci dessous), donc en fait j'aimerai tout simplement pb avec 2 fonction [ par jackrichard ] salut a tous j'ai un problème que je ne comprend pas j'ai une première fonction qui se déclenche a chaque fois que le focus change de position dans mo Probleme pour appliquer un style en javascript [ par f6xara ] Bonjour J'ai fais un éditeur de css en ligne et je souhaiterais que lorsque j'applique un nouveau style, les modifications apparaissent. Jusque là pa [DEPLACE]limite de caractere [ par gazalii ] Bonjour,je viens de developper une fonction qui calcule le nombre totale des caracteres sur un champs je veux ajouter a cette fonction un test qui con


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.