Aide pour javascript

Résolu/Fermé
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 25 févr. 2011 à 15:32
 Utilisateur anonyme - 26 févr. 2011 à 14:29
Bonjour,
J'ai un formulaire dont certains champs sont obligatoires. Le script de contrôle fonctionne très bien pour ceux ci-dessous.
// Script de contrôle des champs obligatoire du formulaire Presse
//<![CDATA[

function verif() 
{ 
	var Lien = document.Client.N_Client.value;
	if (document.Client.N_Client.value == "")
	{
		alert ('Veuillez renseigner le nom du client !');
		document.Client.N_Client.focus();
		return false;
	}

//	if(document.Client.P_Client.value == "") 
//	{ 
//	    alert ('Veuillez renseigner le prénom du client !'); 
//        document.Client.P_Client.focus(); 
//        return false; 
//   	}
		
//	if(document.Client.Ville.value == "") 
//	{ 
//        alert ('Veuillez renseigner la ville !'); 
//        document.Client.Ville.focus(); 
//        return false; 
//   	} 

	if(document.Client.CP.value == "") 
	{ 
        alert ('Veuillez renseigner le code postal de la ville !'); 
        document.Client.CP.focus(); 
        return false; 
   	} 


else {return true;}
}		
//]]>

Seulement, je suis une bille en javascript et je voudrais contrôler aussi le champ e-mail avec une expression régulière. Je me suis donc procuré un script pour cela mais j'ai été obligé de créer un autre fichier externe pour ce seul contrôle. En de ne pas me donner le focus sur le champ contrôlé, les autres (Nom du client et Code postal) ne sont plus contrôlés du coup. C'est toujours le message Veuillez entrer une adresse e-mail valide qui s'affiche. Voici le second code que je ne sais pas implémenter dans le premier, ci-dessus:
// Vérification d'E-mail
function verif(Email) { // vérif validité email par REGEXP
   var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/
        if(reg.exec(Email.value)==null) {
         alert("Veuillez entrer une adresse e-mail valide!")
         Email.focus()
   return false
      } else
    return true
      }


Perso je pensait mettre le var après le premier var du haut puis mettre un if comme les autres mais je n'y connait rien. Serait-ce la solution ? Merci d'avance pour vos lumières !

Comment feriez-vous, vous ?


A voir également:

3 réponses

txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
25 févr. 2011 à 22:45
Alors personne ?...
0
Utilisateur anonyme
26 févr. 2011 à 14:05
Salut,

Essayes ça :

// Script de contrôle des champs obligatoire du formulaire Presse
//<![CDATA[

function verif() 
{ 
	var Lien = document.Client.N_Client.value;
        var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/
	if (document.Client.N_Client.value == "")
	{
		alert ('Veuillez renseigner le nom du client !');
		document.Client.N_Client.focus();
		return false;
	}

//	if(document.Client.P_Client.value == "") 
//	{ 
//	    alert ('Veuillez renseigner le prénom du client !'); 
//        document.Client.P_Client.focus(); 
//        return false; 
//   	}
		
//	if(document.Client.Ville.value == "") 
//	{ 
//        alert ('Veuillez renseigner la ville !'); 
//        document.Client.Ville.focus(); 
//        return false; 
//   	} 

	if(document.Client.CP.value == "") 
	{ 
        alert ('Veuillez renseigner le code postal de la ville !'); 
        document.Client.CP.focus(); 
        return false; 
   	}

        if(reg.exec(document.Client.Email.value)==null) {
        alert("Veuillez entrer une adresse e-mail valide!")
        return false
        }


else {return true;}
}		
//]]>


PS : je te déconseilles les majuscules dans les name, class et id
0
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
26 févr. 2011 à 14:16
Nikel ! merci ! Mais tu sais j'avais fait exactement la même chose sauf pour
if(reg.exec(document.Client.Email.value)=="")
au lieu de
if(reg.exec(document.Client.Email.value)==null)
.
J'en profite pour te demander: c'est quoi la différence entre =="" et ==null ?

PS : je te déconseilles les majuscules dans les name, class et id
Pourquoi ? Y-a-t-il une raison particulière ?

Merci en tous cas pour ton aide très précieuse.

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0
Utilisateur anonyme
26 févr. 2011 à 14:29
La méthode exec() renvoi null en cas de nos correspondance avec la chaine (pattern). null veut dire qu'une variable n'a pas de valeur ou lorsque la valeur de retour d'une fonction est omis.
Donc en gros lorsque tu vérifier si la ville est renseigné tu pouvais mettre "" car effectivement c'est la valeur retourné par un formulaire sur un champ vide. Mais là la fonction ne renvoit rien, pour que tu puisse mettre "" il aurait fallu lui attribuer la valeur de retour "".
0