Javascript formulaire

Résolu/Fermé
fonzy - 8 juin 2009 à 13:49
OConell Messages postés 139 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 13 octobre 2010 - 30 juin 2009 à 19:52
Bonjour,

J'ai créé un formulaire php et javascript qui fonctionne correctement, cependant, j'aimerais ajouter une amélioration. Je m'explique, le formulaire calcule le prix selon différents critères à choisir dans une liste déroulante. Malheureusement, les modifications ne sont prises en compte que si je modifie mon choix, j'aimerais que le calcul se fasse avec les valeurs par défaut.
J'ai cru comprendre que c'était à cause du onchange, mais n'est-il pas possible de calculer directement?

Le code:
<script type="text/javascript">
function calcul()
{
document.pub.htva.value=parseFloat(document.pub.produit.value)*1;
document.pub.tva.value=parseFloat(document.pub.htva.value)*0.21;
document.pub.tvac.value=parseFloat(document.pub.htva.value)+parseFloat(document.pub.tva.value);
}
</script>

<form action="cmdpub.php" method="post" name="pub">
<tr>
<td rowspan="9" valign="top" width="20%">
<u>Devis On-line</u><br />
Rappel de votre commande:
<table>
<tr><td>Prix HTVA :<td><input type="text" size="5" name="htva" onkeyup="calcul();" />
<tr><td>TVA (21%) :<td><input type="text" size="5" name="tva" onkeyup="calcul();" />
<tr><td>Prix TVAC :<td><input type="text" size="5" name="tvac" onkeyup="calcul();" />
</table>
<td align="right" width="">Produit :<td>
<select name="produit" onchange="calcul();">
<? include "connexion.php";
$req = mssql_query("select s_modele,s_id,s_prix_ht from stock where s_internet='1'");
while($data=mssql_fetch_array($req)){
?><option value="<? echo $data['s_prix_ht'];?>"><? echo $data['s_modele'];?></option>
<? }?>
</select>
</form>

6 réponses

jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
8 juin 2009 à 14:31
dans ta balise body, tu ajoutes un onload="calcul();"
ce qui aura pour effet de lancerta fonction calcul au chargement de ta page
0
C'est une bonne idée, je ne connaisais pas mais ca marche toujours pas
0
dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
8 juin 2009 à 16:54
et si tu ajoute:


window.onload=function(){calcul();};
juste avant </script>
0
Bien vu, ca marché nikel ...

Es t on obligé de mettre cette ligne avant le script? Et pourquoi?

Merci beaucoup en tout cas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
13 juin 2009 à 16:13
il est recommandé, par soucis de clarté, de dissocier le code javascript du code html, donc il est préferable d'eviter les <body onload="javascript:calcul();"> ou encore <a onclick="javascript:mafunction();"> et il faut bien sur le mettre entre les balise <script></script> pour qu'il soit interpreté comme tel.
0
OConell Messages postés 139 Date d'inscription samedi 1 novembre 2008 Statut Membre Dernière intervention 13 octobre 2010 8
30 juin 2009 à 19:52
bonjour

https://openweb.eu.org/articles/validation_formulaire

petit apport même si le sujet est résolu
0