Javascript et formulaire

warka0O Messages postés 2 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 10 juin 2011 - 22 nov. 2010 à 22:56
cs_ludwig59 Messages postés 128 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 6 mai 2011 - 29 nov. 2010 à 09:24
Bonjour, (ou bonsoir)

Je me présente à vous car j'ai un énorme soucis ! Mon contrôle de saisi sur mon formulaire ne veux pas s'opérer.
Normalement, le code dois envoyer un alert pour chaque champ non remplis. Quelqu'un aurait-il une idée de pourquoi cela ne marche pas ?

J'espère que quelqu'un m'aidera car c'est assez urgent...


La fonction retest me sert à rester le button, mais cela ne marche pas non plus...


Merci d'avance de votre aide ! J'espère que quelqu'un m'aidera !


<script language="javascript" type="text/javascript">

function test()
{
if(document.getElementById)
{
var elt = document.getElementById("NUMFOUR");
elt.focus();
}
}


function retest()
{

alert ('mais loooool');


}

function checking() 
{ 
var num = document.formfour.NUMFOUR.value;
if(document.formfour.NUMFOUR.value == "")
{
alert ('Veuillez entrer votre numero');
document.formfour.NUMFOUR.focus();
return false;
}
if(document.formfour.ADREFOUR.value == "")
{
alert ('Veuillez entrer votre adresse');
document.formfour.ADREFOUR.focus();
return false;
}
if(document.formfour.CODEPOSTFOUR.value == "")
{
alert ('Veuillez entrer votre codepostal');
document.formfour.CODEPOSTFOUR.focus();
return false;
}

if(document.formfour.NUMFOUR.value.length != 2) // != à la place de =
{ 
alert ('Le numro doit comporter 2 chiffres et non \'' + document.formfour.NUMFOUR.value.length + '\''); 
document.formfour.NUMFOUR.focus();
return false; 
}

if(document.formfour.VILLEFOUR.value == "")
{
alert ('Veuillez entrer une ville');
document.formfour.VILLEFOUR.focus();
return false;
}
if(document.formfour.TELEFOUR.value.length != 10)
{ 
alert ('Le n de tlphone doit comporter 10 chiffres'); 
document.formfour.TELEFOUR.focus();
return false; 
}
if(document.formfour.FAXFOUR.value == "")
{
alert ('Veuillez entrer votre fax');
document.formfour.FAXFOUR.focus();
return false;
}
if(document.formfour.MAILFOUR.value == "")
{
alert ('Veuillez entrer votre e-mail');
document.formfour.MAILFOUR.focus();
return false;
}
if(document.formfour.FAXFOUR.value.length <> 10)
{ 
alert ('Le n de fax doit comporter 10 chiffres'); 
document.formfour.FAXFOUR.focus();
return false; 
}
else
{
 	if(window.document.all('flag').innerHTML="false"){
resum();
return false;
}else{
return true;
}
}
VerifierAdresseMail(document.formfour.MAILFOUR.value);
suppraccent(document.formfour.NOMFOUR.value);
suppraccent(document.formfour.ADREFOUR.value);
suppraccent(document.formfour.VILLEFOUR.value);
suppraccent(document.formfour.MAILFOUR.value);
}


function suppraccent(chaine, mode)
{
var tofind = "";
var replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuuyNn";
if(mode == 'apostrophe')
{
replac += "-"; 
tofind += "'"; 
}
return(strtr(chaine,tofind,replac));
}


function VerifierAdresseMail(adresse)
{
   var Syntaxe = '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
   if(preg_match(Syntaxe,adresse))
      return true;
   else
   {
alert("l'adresse e-mail n'est pas valide !!"); 
return false;
}
}

</script>







<center>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<form action="valideac.php" method="post" name="formfour">
Numéro
  ' id="NUMFOUR">
  
   
   Nom
   
     


   Adresse
   
     


   Code Postal
   
     


   Ville
    
    


  Telephone
    
  


  
     Fax
     
    


  e-mail
    
   


   
    

   


 </form>
 </center>

3 réponses

Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
23 nov. 2010 à 08:35
Salut !

Ca ne marche pas car tu fais à chaque fois un return false dans chaque condition, ce qui implique que le script sort de la fonction. Une solution est de passer par une variable booléenne que tu définis à true au début de ta fonction et une fois une erreur, changer sa valeur à false. Et une fois toutes tes conditions passées renvoyée ta variable. Tu auras alors toutes tes alertes qui devraient s'afficher.

Une autre petite chose :

if(document.formfour.FAXFOUR.value.length <> 10) {...}
// devient
if(document.formfour.FAXFOUR.value.length != 10) {...}


Bien à toi,

Le grand Jisay
0
warka0O Messages postés 2 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 10 juin 2011
29 nov. 2010 à 07:38
Merci ;)
0
cs_ludwig59 Messages postés 128 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 6 mai 2011 2
29 nov. 2010 à 09:24
Bonjour ,

En laissant

onClick="checking();"


sur ton submit, le formulaire s'enverra quand même.
Il faut que tu retire le onclick de ton submit et que tu rajoute dans ta balise form :

onsubmit="return checking();"
0
Rejoignez-nous