Bonjour je désire effectuer un formulaire de calcul ( sans recharger la page) et je n'y arrive pas.....
Ca ne se calcule pas :
Voici le formulaire en question :
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=iso-8859-1"> <TITLE>Bon de commande DIVION</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function test_champ(champ) { expr_reg = /^\d*$/ ; // Ci-dessus : expression régulière qui match 0,1 ou plusieurs chiffres ; // de cette façon on vérifie que l'utilisateur entre bien un nombre entier if ( expr_reg.test(champ.value) ) { // c'est bien un nombre entier calcul_form() ; } else { // ce n'est pas un nombre entier alert ("Ce n'est par un nombre entier !") ; document.form1.elements[champ.name].value = "" ; // on efface la valeur entrée erronée calcul_form() ; } } function calcul_form() { // le with ci-dessous permet d'abréger "document.forms.form1.p1.value" en "p1.value" with (document.forms.form1) { p1.value = q1.value * pu1.value ; p2.value = q2.value * pu2.value ; p3.value = q3.value * pu3.value ; total.value = p1.value *1 + p2.value *1 + p3.value *1 ; // Ai mis les *1 ci-dessus afin que les + fassent une somme arithmétique // et non pas une concaténation de chaînes de caractères } } function champ_verrouille(champ,valeur) { // Remarque : en HTML 4.0, il existe un attribut "read-only" pour la // balise <INPUT TYPE=text> qui interdira de modifier un champ // mais ce que je fais ci-dessous est beaucoup plus sûr !!! // alert ("Ce champ de peut pas être modifié !") ; document.form1.elements[champ.name].value = valeur ; // on remet "valeur" initiale dans champ } function soumettre_form() { if ( document.forms.form1.total.value == 0 ) { alert ("Vous n'avez rien commandé !\n => commande non soumise") ; return false ; } else { // Les 2 lignes ci-dessous devraient être activées pour réellement passer le form. à script CGI // document.form1.method = "POST" ; // document.form1.action = "http://dgrwww.epfl.ch/cgi-bin/uncgi/mail_form.sh?mailto=Jean-Daniel.Bonjour@epfl.ch" ; document.write ("<H3 ALIGN=center>Commande passée\n pour un montant de " + document.forms.form1.total.value + " Frs</H3>") ; document.close () ; return true ; } } // --> </SCRIPT> </HEAD> <BODY BGCOLOR="white" onLoad="calcul_form()" > <table width="100%"> <!--utilisation d'un tableau qui occupera toute la page--> <tr> <td> <table width="100%" align="center" border=1> <tr> <td align="center"> VILLE DE DIVION<BR> 1, rue Pasteur<BR> BP9<BR> Tel : 0321645570<BR> Fax : 0321645583<BR> Mel : <a href="mailto:contact@ville-divion.fr">contact@ville-divion.fr</a><BR> Mel : <a href="mailto:achatpublic@ville-divion.fr">achatpublic@ville-divion.fr</a><BR> </td> <td align="center"> <FORM> Nom du fournisseur : <INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGth="20"> <BR> Adresse du fournisseur : <INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20"> <BR> Ville : <INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20"> <BR> FAX : <INPUT TYPE="text" NAME="nom" VALUE="" SIZE="20" MAXLENGTH="20"> <BR> LIEU DE LIVRAISON <SELECT NAME="LIEU" <OPTION VALUE="st">Service technique <OPTION SELECTED VALUE="m">Mairie <OPTION VALUE="elc">Education Loisirs et Citoyenneté </SELECT> </td> <td align="center"> <?php echo "Date du jour : ".date("d-m-Y")."<br>"; //affiche la date du jour d'utilisation du serveur par le client ?> <BR>Action</BR> <INPUT TYPE="checkbox" NAME="Livraison"> Livraison <INPUT TYPE="checkbox" NAME="Retrait"> Retrait <INPUT TYPE="checkbox" NAME="Autre"> Autre <INPUT TYPE="checkbox" NAME="Transmission" CHECKED> Transmettre au fournisseur </td> <tr> <td colspan=4 align="center"> Ne seront reconnus par le Ville de Divion que les services faits en exécution dun bon de commande régulier dûment numéroté, visé et signé par le responsable achat </td> </tr> <TABLE width="100%" BORDER="1" CELLSPACING="0" BGCOLOR="#FFFFAA"> <TR BGCOLOR="#CCCCCC"> <TD WIDTH=70%><B>Réference fournisseur et désignation</B> <TH >Quantité <TH>Prix unitaire TTC <TH>Prix total TTC </TR> <TH><INPUT TYPE="text" size="125"> <TH><INPUT TYPE="text" NAME="q1" SIZE=3 MAXLENGTH=4 onBlur="test_champ(this)"> <TH><INPUT TYPE="text" NAME="pu1" SIZE=3 VALUE="" MAXLENGTH=4 "> <TH><INPUT TYPE="text" NAME="p1" SIZE=8 MAXLENGTH=4> </BODY>
Partager