Validation d'un formulaire et execution PHP

sspacy -  
 sspacy -
J'ai compris comment vérifier un champ d'un formulaire grâce à javascript mais comment faire en sorte que:

1/ si le champ n'est valide alors le formulaire n'est pas posté
2/ si le champ est valable le champ est posté et execute un script php ?


Merciiiii !

Sspacy
A voir également:

3 réponses

PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Salut SSPACY

Pas étonnant que ca fonctionne pas ! Tu testes pas un champ du formulaire !
Et puis il manque des accolades dans le fct JavaScript !

Normalement dans ton formulaire ton champ de type auteur doit se présenter comme suit :

<input type="text" name="auteur" size=40 maxlength=40>

G mis 40 car. de long au hasard.

De plus donne un nom a ton formulaire par ex "fiche"
Le code donne alors

<form name="fiche" method="post" action="Scripts/Publier.php" onSubmit="return verifForm();">
<input type="text" name="auteur" size=40 maxlength=40>
</form>


Maintenant le code + JS :

<html>
<head>
<script language="JavaScript">
<!--


function verifForm()
{
if(document.fiche.auteur.value == "")
{
alert('Le champs AUTEUR est obligatoire');
return false;
}
else
{
return true;
}
}

// -->
</script>
</head>
<body>

<form name="fiche" method="post" action="Scripts/Publier.php" onSubmit="return verifForm();">
<input type="text" name="auteur" size=40 maxlength=40>
<input type="submit" value="Envoyer">
</form>
</body>
</html>


Comma çà c'est mieux ;:-)

@+
Philippe

[[  The Truth is Out There   ]]
3
sspacy
 
Merciiiiiii Php,
effectivement comme ça ça marche bcp mieux !!

une dernière petite Q
*<:D)

je veux aussie testé d'autres champs
comment faire sans réécrire la fonction javascript pour chaque champs ??
0
Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention   504
 
Dans le form fais :

<FORM action="script.php" onSubmit="return verif();"...>

Et dans ta fonction JavaScript, tu retournes vrai ou afux selon :

function verif()
{
if (champ incorrect)
{
alert('incorrect');
return false;
}
return true;
}

-= Bobinours =-
2
sspacy
 
Merci Bobinours mais comme je suis archie débutant en java, je n'arrive pas à appliquer ton truc, ça marche pas !

Le champ à tester a pour nom auteur, le formulaire n'a pas de nom mais comporte plusieurs champs que j'aimerais aussi tester d'ailleurs, ,voilà donc ma fonction:

function verifForm()
{
if(form.auteur.value == "")
alert('Le champs AUTEUR est obligatoire');
return false;
else
return true;
}

et voilà l'entête de mon formulaire:

<form method="post" action="Scripts/Publier.php" onSubmit="return verifForm();">

La fonction javascript est ignorée....
0
Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention   504
 
Ce n'est pas du JAVA, mais du JavaScript. Ca n'a rien à voir (malgré le nom).

De façon somple, fais :

<form method="post" action="Scripts/Publier.php" onSubmit="return verifForm(this);">

(this correspond à l'objet formulaire <FORM>)

Et dans ta fonction, Change ceci :

function verifForm(leForm)
{
if(leForm.auteur.value == "")
...

-= Bobinours =-
0
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
well, well, well ...

Si tu ne veux pas réécrire tout il faut généraliser le code JS.
Evidemment c'est un peu plus complexe ...
... car j'utilise des objets.



par ex :


<html>
<head>
<script language="JavaScript">
<!--

var champs=new Array()

function Champ(ref,msg)
{
this.ref=ref
this.msg=msg
}

function champ_estVide()
{
if (this.ref.value == "")
{
alert(this.msg);
this.ref.focus();
return true;
}
else
{
return false;
}
}
Champ.prototype.estVide=champ_estVide


function chargeChamps()
{
champs[0]=new Champ(document.fiche.auteur,"Le champs AUTEUR est obligatoire !")
champs[1]=new Champ(document.fiche.oeuvre,"Le champs OEUVRE est obligatoire !")
}




function verifForm()
{
if (champs[0].estVide()) return false;
if (champs[1].estVide()) return false;
return true;
}



// -->
</script>
</head>
<body onload="chargeChamps()">

<form name="fiche" onSubmit="return verifForm();">
Auteur<input type="text" name="auteur" size=40 maxlength=40>
Oeuvre<input type="text" name="oeuvre" size=40 maxlength=40>
<input type="submit" value="Envoyer">
</form>
</body>
</html>

Ce script ne test qui si les champs sont vides (donc obligatoire en fait) : à toi de le complèter si tu veux tester d'autres conditions (un champ contenant un nombre, une date valide etc ...)


Nota : tu peux effectuer les contrôles à la sortie de chaque champ en écrivant :

Auteur<input type="text" name="auteur" size=40 maxlength=40 onblur="champs[0].estVide()">
Oeuvre<input type="text" name="oeuvre" size=40 maxlength=40 onblur="champs[1].estVide()">

@+
Philippe


[[  The Truth is Out There   ]]
1
sspacy
 
Merciiiiiiii

C très cool de ta part,

Sspacy
0