Problème de formulaire en Javascript

Fermé
Hebra - 10 avril 2007 à 17:39
 Hebra - 13 avril 2007 à 15:09
J'ai un sérieux problème de formulaire que je dois envoyer par courriel. J'essaies aussi de faire vérifier toutes mes cases pour être certain que toutes les cases soient remplies, mais il semblerait qu'il n'y a aucune vérification qui se fait. J'espère que quelqu'un pourra m'aider, voici la programmation complète du formulaire. Vous me sauverez la vie si vous êtes capable de m'aider!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<title>Formulaire - Demande de base en béton</title>

<style type="text/css">
.error {
color: #FF0000;
}
span {
font-weight: bold;
}

.style1 {font-family: Verdana, Arial, Helvetica, sans-serif}
.style4 {font-size: 12px}
.style5 {font-size: 14px}

</style>

<script type="text/javascript">

function validate() {
if(!document.getElementById) return;

// get form variables
var demandeur = document.getElementById("demandeur").value;
var adresse = document.getElementById("adresse").value;
var ville = document.getElementById("ville").value;
var province = document.getElementById("province").value;
var codepostal = document.getElementById("codepostal").value;
var telephone = document.getElementById("telephone").value;
var courriel = document.getElementById("courriel").value;
var defunt = document.getElementById("defunt").value;
var lot = document.getElementById("lot").value;
var section = document.getElementById("section").value;
var chemin = document.getElementById("chemin").value;
var longueur = document.getElementById("longueur").value;
var longueurdem = document.getElementById("longueurdem").value;
var mois = document.getElementById("mois").value;
var livraison = document.getElementById("livraison").value;
var incorrect = new Array();
var no = 0;
var regExp = [A-Za-z]{0,};

if(regExp.test(demandeur)) {
demandeur = demandeur.charAt(0).toUpperCase() + demandeur.substring(1,demandeur.length).toLowerCase();
} else {
incorrect[no] = "1";
no++;
demandeur = "";
}

regExp = [A-Za-z]{5,};
if(regExp.test(adresse)) {
adresse = adresse.charAt(0).toUpperCase() + adresse.substring(1,adresse.length).toLowerCase();
} else {
incorrect[no] = "2";
no++;
adresse = "";
}

regExp = [A-Za-z]{3,}-?[A-Za-z]?;
if(regExp.test(ville)) {
ville = ville.charAt(0).toUpperCase() + ville.substring(1,ville.length).toLowerCase();
} else {
incorrect[no] = "3";
no++;
ville = "";
}

if(province.length < 2) {
incorrect[no] = "4";
no++;
province = "";
}

codepostal = codepostal.toUpperCase();

regExp = [A-Z]{2}\d{1}\d?\s?\d{1}[A-Z]{2};
if(regExp.test(codepostal)) {
if(codepostal.indexOf(" ") < 0) {
codepostal = codepostal.substring(0,codepostal.length-3) + " " + codepostal.substring(codepostal.length-3,codepostal.length);
}
} else {
incorrect[no] = "5";
no++;
codepostal = "";
}

regExp = \(?\d{5}\)?\s?\d{6};
if(regExp.test(telephone)) {
if(telephone.indexOf("(") < 0) {
telephone = "(" + telephone.substring(0,5) + ") " + telephone.substring(telephone.length-6,telephone.length);
} else if(telephone.indexOf(" ") < 0) {
telephone = telephone.substring(0,7) + " " + telephone.substring(telephone.length-6,telephone.length);
}
} else {
incorrect[no] = "6";
no++;
telephone = "";
}

if(courriel.length < 7) {
incorrect[no] = "7";
no++;
courriel = "";
}

regExp = [A-Za-z]{3,}-?[A-Za-z]?;
if(regExp.test(defunt)) {
defunt = defunt.charAt(0).toUpperCase() + defunt.substring(1,defunt.length).toLowerCase();
} else {
incorrect[no] = "8";
no++;
defunt = "";
}

regExp = [A-Za-z]{3,}-?[A-Za-z]?;
if(lot.length < 1) {
incorrect[no] = "9";
no++;
lot = "";
}
if(livraison.length < 2) {
incorrect[no] = "10";
no++;
livraison = "";
}

for(i=1;i<16;i++) {
document.getElementById(i).style.color="#000000";
}

for(i=0;j<no;j++) {
document.getElementById(incorrect[j]).style.color="#FF0000";
}

if(no > 0) {
document.getElementById("errors").innerHTML = "<span class=\"error\">Veuillez corriger le formulaire. Merci</span><br />";
}

document.getElementById("demandeur").value = demandeur;
document.getElementById("adresse").value = adresse;
document.getElementById("ville").value = ville;
document.getElementById("province").value = province;
document.getElementById("codepostal").value = codepostal;
document.getElementById("telephone").value = telephone;
document.getElementById("courriel").value = courriel;
document.getElementById("defunt").value = defunt;
document.getElementById("lot").value = lot;
document.getElementById("chemin").value = chemin;
document.getElementById("section").value = section;
document.getElementById("longueur").value = longueur;
document.getElementById("longueurdem").value = longueurdem;
document.getElementById("mois").value = mois;
document.getElementById("livraison").value = livraison;
}

</script>

</head>
<body>
<div id="details" align="center">
<div id="errors"></div>
<form method="post" ENCTYPE="text/plain" name="formulaire" action="mailto:adresse@domaine.com?subject=Demande de base de béton pour monument">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td align="right"><span id="1">Nom du demandeur : </span></td>
<td>
<input name="Demandeur" type="text" id="demandeur" size="25" maxlength="50" />
</td>
</tr>
<tr>
<td align="right"><span id="2">Adresse : </span></td>
<td>
<input name="Adresse " type="text" id="adresse" size="25" maxlength="50" />
</td>
</tr>
<tr>
<td align="right"><span id="3">Ville : </span></td>
<td>
<input name="Ville " type="text" id="ville" size="25" maxlength="75" />
</td>
</tr>
<tr>
<td align="right"><span id="4">Province : </span></td>
<td>
<input name="Province " type="text" id="province" size="25" maxlength="50" />
</td>
</tr>
<tr>
<td align="right"><span id="5">Code postal : </span></td>
<td>
<input name="Code postal " type="text" id="codepostal" size="7" maxlength="7" />
</td>
</tr>
<tr>
<td align="right"><span id="6">Téléphone : </span></td>
<td>
<input name="Telephone " type="text" id="telephone" size="15" maxlength="14" />
</td>
</tr>
<tr>
<td align="right"><span id="7">Courriel : </span></td>
<td>
<input name="Courriel " type="text" id="courriel" size="25" maxlength="50" />
</td>
</tr>
<tr>
<td align="right"><span id="8">Défunt : </span></td>
<td>
<input name="Defunt " type="text" id="defunt" size="25" maxlength="50" />
</td>
</tr>
<tr>
<td align="right"><span id="9"># de lot : </span></td>
<td>
<input name="# de lot " type="text" id="lot" size="6" maxlength="6" />
Section :
<input name="Section " type="text" id="section" size="6" maxlength="6" />
(s'il y a lieu) </td>
</tr>
<tr>
<td align="right"><span id="10">Chemin : </span></td>
<td>
<select name="Chemin " class="style1" id="chemin">
<option value="A">A</option>
<option value="AA">AA</option>
<option value="B">B</option>
<option value="BB">BB</option>
<option value="C">C</option>
<option value="CC">CC</option>
<option value="D">D</option>
<option value="DD">DD</option>
<option value="E">E</option>
<option value="EE">EE</option>
<option value="F">F</option>
<option value="FF">FF</option>
<option value="G">G</option>
<option value="GG">GG</option>
<option value="GGB">GGB</option>
<option value="GGU">GGU</option>
<option value="3G">3G</option>
<option value="3GB">3GB</option>
<option value="4G">4G</option>
<option value="4GA">4GA</option>
<option value="4GB">4GB</option>
<option value="4GC">4GC</option>
<option value="H">H</option>
<option value="HA">HA</option>
<option value="Chemin de croix">Chemin de croix</option>
<option value="Christ-Roi">Christ-Roi</option>
<option value="Marie-Immaculée">Marie-Immaculée</option>
<option value="Prêtre">Prêtre</option>
<option value="St-Andrée (K)">St-André (K)</option>
<option value="Ste-Anne">Ste-Anne</option>
<option value="St-Antoine (M)">St-Antoine (M)</option>
<option value="St-Christophe">St-Christophe</option>
<option value="Ste-Croix">Ste-Croix</option>
<option value="Ste-Famille">Ste-Famille</option>
<option value="St-Gabriel (H)">St-Gabriel (H)</option>
<option value="St-Isidore">St-Isidore</option>
<option value="St-Jean">St-Jean</option>
<option value="Ste-Jeanne">Ste-Jeanne</option>
<option value="St-Joseph">St-Joseph</option>
<option value="St-Luc">St-Luc</option>
<option value="St-Marc">St-Marc</option>
<option value="St-Mathieu">St-Mathieu</option>
<option value="St-Michel (J)">St-Michel (J)</option>
<option value="St-Paul">St-Paul</option>
<option value="St-Pierre">St-Pierre</option>
<option value="St-Vital">St-Vital</option>
<option value="47">Ste-Thérèse</option>
<option value="48">St-Thomas (L)</option>
</select>
</td>
</tr>
<tr>
<td align="right"><span id="11">Longueur de votre base de monument : </span></td>
<td>
<input name="Longueur " type="text" id="longueur" size="10" maxlength="10" />
en pouce </td>
</tr>
<tr>
<td align="right"><span id="12">Longueur de base de béton demandée : </span><br />
N.B. Maximum de 12 pouces peuvent être
rajoutés <br />
de chaque côté pour les pots de fleur ou statue. Frais en sus. </td>
<td>
<select name="Longueur demandee " class="style1" id="longueurdem">
<option value="12 X 12">12 X 12</option>
<option value="14 X 12">14 X 12</option>
<option value="16 X 12">16 X 12</option>
<option value="18 X 12">18 X 12</option>
<option value="20 X 12">20 X 12</option>
<option value="22 X 12">22 X 12</option>
<option value="24 X 12">24 X 12</option>
<option value="26 X 12">26 X 12</option>
<option value="28 X 12">28 X 12</option>
<option value="30 X 12">30 X 12</option>
<option value="32 X 12">32 X 12</option>
<option value="34 X 12">34 X 12</option>
<option value="36 X 12">36 X 12</option>
<option value="38 X 12">38 X 12</option>
<option value="40 X 12">40 X 12</option>
<option value="42 X 12">42 X 12</option>
<option value="44 X 12">44 X 12</option>
<option value="46 X 12">46 X 12</option>
<option value="48 X 12">48 X 12</option>
<option value="50 X 12">50 X 12</option>
<option value="52 X 12">52 X 12</option>
<option value="54 X 12">54 X 12</option>
<option value="56 X 12">56 X 12</option>
<option value="58 X 12">58 X 12</option>
<option value="60 X 12">60 X 12</option>
<option value="62 X 12">62 X 12</option>
<option value="64 X 12">64 X 12</option>
<option value="66 X 12">66 X 12</option>
<option value="68 X 12">68 X 12</option>
<option value="70 X 12">70 X 12</option>
<option value="72 X 12">72 X 12</option>
</select>
en pouce </td>
</tr>
<tr>
<td align="right"><span id="13">Date prévue de votre monument : </span><br />
Votre demande doit être envoyé avant le : <br />
30 mai pour livraison de juin <br />
31 juillet pour livraison d'août <br />
30 septembre pour livraison d'octobre </td>
<td>
<input name="Mois " type="radio" value="Juin" id="juin"/>
Juin


<input name="Mois " type="radio" value="Aout" id="aout" />
Août


<input name="Mois " type="radio" value="Octobre" id="octobre" />
Octobre </td>
</tr>
<tr>
<td align="right"><span id="14">Livraison par : </span></td>
<td>
<input name="Livraison " type="text" id="livraison" size="25" maxlength="50" />
(nom de l'entreprise) </td>
</tr>
<tr>
<td align="right"></td>
</tr>
</table>
<p class="style5">Prenez note que votre facturation pour la fondation de béton sera expédiée par la poste.<br />
Toutes facturation devra être acquitter avant les dates limites de préparation des bases de béton. À défaut aucun monument sera installé et sera retourné à l'entreprise de monument sans autre avis. </p>
<p align="center" class="style1">Adresse de paiement pour base de béton :<br />
Monsieur Pierre Fortin<br />
10, rue Nadeau<br />
Sept-Îles (Québec) G4R 4W2<br />
Messager : 418 961-6431 - Résidence : 418 962-8669 </p>
<input type="submit" name="Submit" value="Soumettre votre demande" onclick="validate()" />
<p class="style1"><span class="style4">Une confirmation vous sera expédié via courriel. Si vous ne recevez pas de confirmation, veuillez communiquer avec le gérant. </span></p>
</form>
</div>
</body>
</html>

1 réponse

Personne ne peut m'aider? Je suis vraiment coincé et je ne toruve pas le bobo!!!
0