Controler un formulaire sans uiliser "action"

Anathorn Messages postés 12 Date d'inscription lundi 28 octobre 2002 Statut Membre Dernière intervention 5 septembre 2006 - 15 sept. 2003 à 03:45
Anathorn Messages postés 12 Date d'inscription lundi 28 octobre 2002 Statut Membre Dernière intervention 5 septembre 2006 - 15 sept. 2003 à 16:47
Bonjour tout le monde...

Je débute en javascript, mais je pense que c'est là la solution à mon problème :
J'ai un formulaire, dont l'action est un fichier PHP qui traite les données... Seulement voilà, j'aimerais vérifier certains champ "AVANT" d'envoyer les données au fichier PHP...
Les champs que je veux vérifier sont deux texte (juste s'il y a qq chose dedans) et un champ mail (si l'adresse est valide...) Et afficher une "alert" quand il y a un problème... Je n'ai pas trouvé la solution dans les cas présents sur ce site...
Ca fait 3 jours que je me casse la tête dessus, pas moyen de trouver une solution :blush)

Ci joint mon code :
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../Style.css" rel="stylesheet" title="Style" type="text/CSS">
</head>

<form  name="calendrier" action="mail_resa.php" method=POST>

Vos coordonnées...

( Les champs marqués • sont obligatoires )

<TABLE width="450" ALIGN="CENTER">
----, Nom 


</td>




</FORM>

</HTML>

</td></tr></table>

Par avance, merci pour votre aide !! ;)

6 réponses

cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
15 sept. 2003 à 14:18
salut,
pour la verification, tu as le choix entre ledeclanché sur le click sur le bouton (a ce moment la tu fais un onclick dessus qui appel la fonction de verification) ou sur le onblur de ton champ (evenement qui se declanche a la perte de focus)
pour la verification :
pour les champs texte :
if (document.calendrier.nom.value == "")
alert("erreur ....");
pour l email :
var reg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}[.][a-zA-Z0-9]{2,4}$/
var reg2 = /[.@]{2,}/
if (!(reg.exec(email)!=null && reg2.exec(email)==null))
alert("erreur ...");
Voila
Duss
0
Anathorn Messages postés 12 Date d'inscription lundi 28 octobre 2002 Statut Membre Dernière intervention 5 septembre 2006
15 sept. 2003 à 15:08
C'est cool Duss, ça fontionne pour la verification des champs... Merci bcp pour ton aide...

Par contre, même s'il trouve un probleme dans un des champs, il continue le traitement du formulaire vers le PHP...

Il n'y a pas moyen d'arreter le traitement à ce moment là ?
Du style. Alert & Stop ?
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
15 sept. 2003 à 15:26
ben a ce moment la,
tu met un input type button et pas un submit
du coup si c est bon pour les 2 tu fais un :
document.calendrier.submit();
sinon tu le fais pas
Duss
0
Anathorn Messages postés 12 Date d'inscription lundi 28 octobre 2002 Statut Membre Dernière intervention 5 septembre 2006
15 sept. 2003 à 15:54
Je sais, j'abuse, mais comment on fait un controle sur les verifications qui viennent de se faire ? Autrement dit, il faut mettre quoi après le "if (" et avant le document.calendrier.submit(); ?

Voilà mon script actuel :

<script language="javascript">
var reg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}[.][a-zA-Z0-9]{2,4}$/ 
var reg2 = /[.@]{2,}/ 
function check_oblig(nom,pays,email)
{
if (document.calendrier.nom.value == "")
alert("Veuillez indiquer votre nom");

if (document.calendrier.pays.value == "")
alert("Veuillez indiquer votre pays");

if (document.calendrier.email.value == "")
alert("Veuillez indiquer votre email");

if (!(reg.exec(email)!=null && reg2.exec(email)==null)) 
alert("Votre email ne semble pas conforme");

if ()
document.calendrier.submit();
}
</script>


(Je vous l'avais dit, je débute !! :shy) )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
15 sept. 2003 à 16:10
<script language="javascript">
var reg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}[.][a-zA-Z0-9]{2,4}$/ 
var reg2 = /[.@]{2,}/ 
function check_oblig(nom,pays,email)
{
var good = true;
if (document.calendrier.nom.value == "")
{
alert("Veuillez indiquer votre nom");
good = false;
}

if (document.calendrier.pays.value == "")
{
alert("Veuillez indiquer votre pays");
good = false;
}

if (document.calendrier.email.value == "")
{
alert("Veuillez indiquer votre email");
good = false;
}

if (!(reg.exec(email)!=null && reg2.exec(email)==null)) 
{
alert("Votre email ne semble pas conforme");
good = false;
}

if (good)
document.calendrier.submit();
}
</script>
0
Anathorn Messages postés 12 Date d'inscription lundi 28 octobre 2002 Statut Membre Dernière intervention 5 septembre 2006
15 sept. 2003 à 16:47
Ca marche !!

Merci bcp pour l'aide apportée !! :big)

@ Bientôt
0
Rejoignez-nous