<HTML> <HEAD> <TITLE>test javascript n°3 (formulaire évolué)</TITLE> <SCRIPT language="JavaScript"> function commentaire() { nomJour=new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"); var now=new Date(); //j'aurai pu l'appeler "maintenant" mais "now" est plus court var str = "Nous sommes le " + now.getDate() + "/" + (now.getMonth()+1) + "/" + (now.getYear()+1900) + "\n" + " et il est " + now.getHours() + "h" + now.getMinutes() + "mn" + now.getSeconds() + "s\n" + " et c'est un " + nomJour[now.getDay()] + " sur terre.\n" ; str+="vous avez un message d'A440 de la planete FA :\n "; for(i=0;i<60;i++) //chaîne aléatoire { var j=Math.floor(Math.random()*42); if(j<36) str+=j.toString(36).toUpperCase(); //la base 36 utilise les chiffres de 0 à z else str+=" "; } return str; } function TestNb(nb,sonNom) { if(nb.length<1) { alert("champ " + sonNom + " non rempli !"); return 0; //pas la peine de continuer dès la 1ère erreur } for (var i = 0; i < nb.length ; i++) //on déclare une variable (ici i) au moment où on en a besoin { var ch = nb.substring (i, i+1); //j'isole chaque caractère if ((ch<"0" || ch>"9") && ch!="." && ch!="-" ) { alert("valeur réelle de " + sonNom + " non valide."); return 0; //pas la peine de continuer dès erreur } } return nb; //si la boucle est finie, je n'ai trouvé aucune erreur } function tauxTva(bouton_radio) { for (i=0;i<bouton_radio.length;i++) if (bouton_radio[i].checked) // on n'en trouvera qu'un de checked code_tva=bouton_radio[i].value; if(code_tva=="autre") tva=parseFloat(prompt("entrez le taux de TVA","20.6")); else tva=parseFloat(code_tva); taux=(100+tva)/100; return taux; } function main(formulaire) { pu = TestNb(formulaire.prix.value,"prix"); q = TestNb(formulaire.quantite.value,"quantité"); taux = tauxTva(formulaire.tva); monnaie=formulaire.devise.options[formulaire.devise.selectedIndex].text; tot=pu*q*taux; formulaire.total.value = tot + " " + monnaie; formulaire.txt.value=commentaire(); } </script> </HEAD> <BODY bgcolor="#FFFFBB" background="/img/fond-var.gif"> <H1 align="center">test programmation javascript</H1> <H2 align="center">exemple 3 - avec boutons évolués</H2> <FORM name="in_out"> <TABLE border=0> <TR><TD>prix unitaire : </TD><TD> <INPUT type="text" size="10" name="prix"></TD></TR> <TR><TD>quantité : </TD><TD> <INPUT type="text" size="10" name="quantite"></TD></TR> <TR><TD>prix total </TD><TD> <INPUT type="text" size="10" name="total" value=" -------- "></TD></TR> </TABLE> <TABLE border=0> <TR><TD rowspan="4">choisissez votre taux de TVA</TD> <TD><INPUT type="radio" name="tva" value="5.5">réduite (5.5)</TD></TR> <TR><TD><INPUT type="radio" name="tva" value="20.6">maximale (20.6)</TD></TR> <TR><TD><INPUT type="radio" name="tva" value="0" checked >je veux un total HT</TD></TR> <!--option cochée par défaut (checked) --> <TR><TD><INPUT type="radio" name="tva" value="autre">autre taux</TD></TR> </TABLE> <P>Ces prix sont en <SELECT name="devise"> <OPTION>Dollar <OPTION SELECTED>Euro <OPTION>Yen <OPTION>Livre </SELECT> </P> <TEXTAREA name="txt" cols=50 rows=5> Cette fenêtre sera remplie par le programme </TEXTAREA> <P><input type="button" value="Lancer le calcul" onClick="main(in_out)"></P> </FORM> <HR> <P><A HREF="http://pat.trau.fr/">Patrick Trau</A>, <A HREF="http://www-ipst.u-strasbg.fr/">IPST</A>, <A HREF="http://www-ulp.u-strasbg.fr/">Université Louis Pasteur</A> Strasbourg, mai 2002</P> </BODY> </HTML>
Patrick Trau, IPST, Université Louis Pasteur Strasbourg, mai 2002