<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