Javascript et formulaires.
:salut:
Voilà dans le cadre d'un projet donné par mon école, j'ai à réaliser un site en php dans lequel j'ai besoin que les utilisateurs renseignent un formulaire. J'ai donc modifié (très peu...) un js récupéré sur un site qui permet de vérifier les différents champs avant un submit.
Cependant après avoir essayer d'insérer dans tous mes fichiers, ce js ne se lance toujours pas, je pense bien entendu que c'est une erreur de débutant mais je suis trop nul pour en trouver la source :mouarf:
Si l'un d'entre vous pouvait me sortir de là avant que je ne passe par la fenêtre !
Voilà le code source de la page de formulaire:
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
| <HTML><head><SCRIPT LANGUAGE="Javascript" SRC="./js/checkform.js"></SCRIPT></head><body><div style="width:500px"><form name="form1" enctype="multipart/form-data" action="traitement.php" method="post" onsubmit="checkrequired(this)">
<input name="class" type="hidden" value="site">
<input name="action" type="hidden" value="ajouter">
<input name="Id" type="hidden" value="0">
<input name="rubrique" type="hidden" value="">
<input name="IdSite" type="hidden" value="0">
<div>Rattachement :</div>
<input name="RattachementSite" type="text" value="">
<div>Libellé :</div>
<input name="LibelleSite" type="text" value="">
<div>Adresse :</div>
<input name="AdresseSite" type="text" value="">
<div>Téléphone :</div>
<input name="requiredphone" type="text" value="">
<div>E mail :</div>
<input name="requiredemail" type="text" value="">
<div>Représentant client :</div>
<input name="RepresentantClient" type="text" value="">
<div>Société :</div>
<input name="NomSociete" type="text" value="">
<div>Chef de site :</div>
<input name="ChefSiteNom" type="text" value="">
<div>Téléphone :</div>
<input name="phone" type="text" value="">
<div>E mail :</div>
<input name="ChefSiteEmail" type="text" value="">
<input name="TempsMaintenanceSite" type="hidden" value="">
<div align="center"><input type="submit" name="go" value="Envoyer"></div>
<div align="center"></div>
<div align="center">
<br><input type="reset" name="reset" value="Reset">
</div>
<p>(*) Champs obligatoires</p>
<a href="site.php?class=site">Retour</a>
</form></div></body>
</html> |
Suivi de près par le code du JS:
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
| function checkrequired(theForm){
var pass=true
if (document.image){
for (i=0;i<theForm.length;i++){
var tempobj=theForm.elements[i]
if (tempobj.name.substring(0,8)=="required"){
if (((tempobj.type=="text"||tempobj.type=="textarea")&&tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==-1)){
pass=false
error("Un des champs requis n'a pas été dument rempli\n");
break
}
}
if (tempobj.name.substring(0,5)=="email"){
if(-1==verifemail(tempobj.value)){
pass=false
error("Erreur lors de la saisie de l'adresse email\n");
break
}
}
if (tempobj.name.substring(0,5)=="phone"){
if(-1==checkPhone(tempobj.value)){
pass=false
error("Erreur lors de la saisie de l'adresse email\n");
break
}
}
}
}
if (!pass){
alert("One or more of the required elements are not completed. Please complete them, then submit again!")
return false
}
else
return true
}
//FORMULAIRE DE TEST D ADRESSE EMAIL
function verifemail(str){
var error=0
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
if (!(filter.test(str))){
error=-1
}
return error
}
//FORMULAIRE DE TEST NUMERO DE TELEPHONE
function checkPhone(num){
var stripped = num.replace(/[\(\)\.\-\ ]/g, '');
var error =0
if (isNaN(parseInt(stripped))) {
error = -1
}
if (!(stripped.length == 10)) {
error = -1
}
return error
} |
Il y a probablement moultes erreurs alors faites vous plaisir pendez moi sur la place publique mais s'îl vous plait, aidez moi :aie: