Chargement en cours...
Connexion au forum informatique de Sur-la-Toile
La discussion « calcul automatique dans un formulaire » se trouve dans le forum « Programmation »
Statut de la discussion » calcul automatique dans un formulaire « ( normale)

calcul automatique dans un formulaire

» Liste des Forums » Programmation » Discussion

Le  6 mai à 15:05 #

Bonjour à tous,
Voilà, j'ai réalisé un formulaire de calcul, je souhaite que lorsque le client a rentré la quantité et le prix unitaire, un calcul automatique se fasse : Total=Prix unitaire x Quantité rentrée.
mais il ne fonctionne pas, pourquoi ? Me dire quoi modifier

Merci d'avance

voici mon code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
function verifPrix() {
var quantité = document.getElementById("quantité" ).value;
var PU_HT = document.getElementById("PU_HT" ).value;

if( quantité != "" &&
PU_HT != "" ) {
document.getElementById("Total_HT" ).value = quantité * PU_HT;
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Site web Inpros - Proforma</title>
<style type="text/css">
<!--
.Style2 {
font-size: 24px;
font-weight: bold;
}
-->
</style>
</head>

<body>
<form action="Enregistrement_prof.php" method="post" name="valid_prof" id="valid_prof">
<table width="530" border="1" align="center">
<tr>
<td width="520"><div align="center"><img src="entete.JPG" width="733" height="120"></div></td>
</tr>
<tr>
<td height="922"><p>&nbsp;</p>
<p>&nbsp;</p>
<table width="293" border="0" align="center">
<tr>
<td width="283"><div align="center" class="Style2">Veuillez renseigner les champs suivants : </div></td>
</tr>
</table>
<p align="center">&nbsp;</p>
<table width="520" border="0" align="center">
<tr>
<td width="254"><div align="center">Num_proforma : </div></td>
<td width="254">
<div align="left">
<input type="text" name="Num_proforma">
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">Num_agent : </div></td>
<td>
<div align="left">
<input type="text" name="Num_agent">
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">Num_produit : </div></td>
<td><div align="left">
<input type="text" name="Num_produit">
</div></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">Date_proforma : </div></td>
<td>
<div align="left">
<input type="text" name="Date_proforma">
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">Client : </div></td>
<td>
<div align="left">
<input type="text" name="Client">
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">D&eacute;signation : </div></td>
<td>
<div align="left">
<textarea name="D&eacute;signation"></textarea>
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">Caract&eacute;ristiques : </div></td>
<td>
<div align="left">
<textarea name="Caract&eacute;ristiques"></textarea>
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">Quantit&eacute; : </div></td>
<td>
<div align="left">
<input type="text" name="Quantité" onBlur="verifPrix()"/>
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">PU_HT : </div></td>
<td>
<div align="left">
<input type="text" name="PU_HT" onBlur="verifPrix()"/>
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">Montant_HT : </div></td>
<td>
<div align="left">
<input type="text" name="Montant_HT">
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">Total_HT : </div></td>
<td>
<div align="left">
<input type="text" name="Total_HT">
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">Tva : </div></td>
<td>
<div align="left">
<input type="text" name="Tva">
</div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td><div align="center">Net_&agrave;_Payer : </div></td>
<td>
<div align="left">
<input type="text" name="Net_à_payer">
</div></td></tr>
</table>
<p>&nbsp;</p>
<table width="70" border="0" align="right">
<tr>
<td width="60"> <div align="center">
<input name="prof" type="submit" id="prof" value="Valider">
</div></td>
</tr>
</table> <p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>[#ff2a00][/#ff2a00]
</td>
</tr>
</table>
<p>&nbsp;</p>
</form>
</body>
</html>

Le  6 mai à 16:17 #

Salut.



Avec quel navigateur fais-tu tes tests?

Ajout du 06-05-2008 à 16:36:

Je te pose la question car sur IE ça fonctionne très bien... Maintenant le soucis est de savoir pourquoi.



Quand IE lit un document en javascript qui contient des getElementById, il ne fait pas attention et si tes balises ne contiennent pas un ID, il prend le nom.

Par contre, Firefox fonctionne exactement comme il doit et lorsque tu lui demande l'id, il va lire l'id. Le soucis de ton programme c'est qu'aucune de tes balises ne contient d'id... Rajoute-les au moins à PU_HT, Total_HT et quantité et tu verra que sa fonctionne mieux.



Encore une chose : firefox ne supporte pas les fautes... Dans ton javascript tu as mis "quantité" et dans le HTML tu as "Quantité". Il faut qu'ils soient les 2 pareil.

Le  7 mai à 11:33 #

merci de ta réponse
si j'ai bien compris, les corrections que je dois faire portent sur:

var Quantité = document.getElementById("Quantité" ).value;

et

<input type="text" name="Quantité" id="Quantité" onBlur="verifPrix()"/>

<input type="text" name="PU_HT" id="PU_HT" onBlur="verifPrix()"/>

<input type="text" name="Total_HT" id=Total_HT>

ensuite concernant les caractères accentués, cela ne posent pas probleme?
merci

Le  7 mai à 16:26 #

De rien ^^

Pour les ID tu as tout compris.

Par contre en ce qui concerne les accents je ne sais pas... J'ai pas testé car je n'en met jamais personnellement car beaucoup de langages ne les supporte pas dans les noms de variables. A toi de voir mais je te conseil plutôt d'écrire "quantite" ou "Quantite" dans le javascript comme dans le HTML.
» Liste des Forums » Programmation

Sujets Connexes

Arakien & WéWé


Forums

Navigation


Publicité

Connectés

Il y a actuellement 545 visiteurs et 15 toiliens en ligne.

Recherche

Concours


Sauf mention contraire, le contenu du blog et du forum est sous licence Creative Commons By-Sa. Vous avez le droit de le reproduire à condition de citer l'auteur, de faire un lien vers la page d'origine, et de partager vos travaux dérivés selon les mêmes conditions.

Conditions d'utilisation -

Partenaires: [Informatique Multimédia] [Portail du Maroc] [Actualité High Tech]
[Tutoriaux Photoshop] [éligibilité ADSL] [Astuces Windows]

Page générée en 159 millisecondes sur WWW2.