Formulaire problème de mailto
Bonjour,
Je suis plus que débutant avec la fonction CGI, mais J'ai ici un code d'exemple qui ne fonctionne pas.
Le but est que lors du clic commande il me mail la commande.
Code:
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
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle page 3</title>
<TITLE>Exemple : Formulaire + JavaScript</TITLE>
<!-- J.-D. Bonjour / SI-DGR / 26.6.99 -->
<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=commande@MONMAIL.COM" ;
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>
<FORM NAME="form1">
<CENTER>
<TABLE BORDER="1" CELLSPACING="0" BGCOLOR="#FFFFAA"> |
Mon problème semble venir de
Code:
1 2 3 4
|
document.form1.method = "POST" ;
document.form1.action = "http://dgrwww.epfl.ch/cgi-bin/uncgi/mail_form.sh?mailto=commande@MONMAIL.COM" ; |
Il n'effectue pas
Code:
1 2 3
|
http://dgrwww.epfl.ch/cgi-bin/uncgi/mail_form.sh?mailto=commande@MONMAIL.COM |
Si j'exécute en direct ce http dans adresse explorer alors il m'envoie bien un mail mais pas le contenu du formulaire.
Quelqu'un voit il le problème?
En vous remerciant
Pierre