Validation de Formulaire en Javascript

Résolu
mb12fr Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -  
gosse23 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Salut,

comment faire pour valider un formulaire avec le bouton submit.

Avec OnClick=controle() je controle les données du formulaire, mais comment faire en cas de succes pour aller à la page concernée par le POST, et en cas d'échec de rester sur ma page sans perdre les données saisies ?

Merci

11 réponses

Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention   504
 
La meilleure methode selon moi:

<form ... onSubmit="return controle()">
...
<input type="submit" ...>

<script>
function controle()
{
if (OK) {return true;}
else {return false;}
}
</script>

-= Bobinours =-
18
crapoulou Messages postés 28195 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   8 013
 
Salut arkus340,
Poste ton problème dans un nouveau topic sur le forum stp.
Merci.
5
jibé
 
Dans ta fonction contrôle, tu fais un test j'imagines...

Si le test est OK, tu fais un window.location="nouvelleurl" pour te rediriger, sinon, tu ne fais rien...(ou alors tu affiche une boîte de dialogue pour dire quels champs sont incorrects...)

jibé
4
Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention   504
 
jibé : S'il fait une redirection, il perd ses paramètres... Ta solution n'est pas viable (à moins de passer les paramètre en JavaScript (en methode GET) !!!

-= Bobinours =-
0
jibé > Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention  
 
Ses paramètres, ils peut les passer dans l'URL non ?
0
mb12fr Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci à tous . Voici ce que je fis:

Une fonction script :

function Verif()
{
if (OK){
return true;
}
else
{
alert("Pas bon !");
return false;
}


et la déclaration de ma forme:

<form name=form1 action="suivi.php" method=post>
<input type=button value=Valider onClick="if (Verif()) document.form1.submit()">
</form>

Vive le forum :-)


0
Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention   504 > mb12fr Messages postés 74 Date d'inscription   Statut Membre Dernière intervention  
 
Je te conseille de faire le submit dans la fonction verif()

function Verif()
{
if (OK){
document.form1.submit()
}
else
{
alert("Pas bon !");
}

et la déclaration de ma forme:

<form name=form1 action="suivi.php" method=post>
<input type=button value=Valider onClick="Verif()">
</form>

Sinon, avec ta solution, on ne peut pas utiliser le bouton ENTREE pour submiter le formulaire, ce qui est souvent très pratique pour ceux qui maitrise le Web...

-= Bobinours =-
0
greg_one
 
Une autre méthode qui marche, en utilisant un bouton button

<form action=... method=post>
.
.
.
<input type=button onclick="if(confirm('Etes vous sur?')) document.forms[0].submit()">
</form>

Ici il y aura une boite de dialogee confirm:
si tu clique ok le formulaire execute l'action si tu clique annuler, tu reste su la meme page.
2

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

Posez votre question
gosse23 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   2
 
merci
2
AD
 
Salut,
Je suis a peut pret dans le meme cas, je cherche à controler si une personne veut belle et bien supprimer du contenu.
mon formulaire permet donc soit de modifier soit de supprimer le contenu affiché. mon code est donc à la fin du form:

<input class="bouton" type="submit" value="Modify" name="Modify" />
<input class="bouton" type="button" value="Delete" name="Delete" onclick="if(confirm('Are you sure? The content would be delete of the data base!')) this.form.submit();"/>

j'ai bien vu plus au dans le forum que cela perdait les variables donc marche pas... Pouvez vous me dire comment contourner le probleme...
1
geek1983
 
C'est assez simple.

Au lieu de :

<input class="bouton" type="button" value="Delete" name="Delete" onclick="if(confirm('Are you sure? The content would be delete of the data base!')) this.form.submit();"/>

Marque:

<input class="bouton" type="submit" value="Delete" name="Delete" onclick="if (window.confirm('Are you sure? The content would be delete of the data base!'))
1
mayouta8
 
salut; g mresque le meme probleme de verification de formulauire sauf que la validation se fait correctement mais le submit est fonctionnel dans les deux cas, or je veux que si ce n'est pa validé je ne passe pas à la pages suivante

voila mon code:

<script type="text/javascript">


function valider() {

if((document.form_repondre.tit_mesg.value != "") && (document.form_repondre.pseudo.value != "")) {

document.form_repondre.submit();
}
else {

alert("tt les chapms");


}
}


</script>

et l'appel:

<form onsubmit="valider(this)"..................>
0
arkus340 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
je voudrai faire un formulaire qui active un lien apres le post de celuici

php ou javascript?
et comment?

y a t'il déjà des script tout prêt qu'il y a juste qu'a personnaliser?

merci
0
LePetitChaperonRouge
 
Le plus simple (mais c'est moins dynamique) c'est de traiter ton formulaire en php

une fois le formulaire traité tu fais une redirection:


if ($control=="ok"){header('Location: tonlien.php');} 


tu trouveras sur le net des exemples de formulaires et de traitement en php. Il surement falloir que tu te plonges un peu le nez dans le php par contre.

<form action="" method="POST"> // pas d'action puisque tu traite sur la même page 
<input type="text" name="nom" value="Ici votre nom"> 
<input type="submit" value="C'est parti!"> 
</form> 

if   (isset($_POST['nom'])  
    {$nom = $_POST['nom'];} // là tu récupère et tu en fait ce que tu veux 
//si tu veux en faire quelque chose après le nez dans le Sql! ;) 


Tu peux aussi histoire de faire ceci:
if (!isset($_POST['nom']) 
{ 
// ton form 
} 
elseif (isset($_POST['nom']){echo "C'est reparti";} 


En éspérant t'avoir avancer un peu. bon courage à toi
0
flo
 
Bonjour, voici un formulaire du même type qui marche:

Les points importants selon moi sont:
1) à la fin du formulaire, bien mettre un input type="button" car si vous mettez input type="submit" le formulaire est soumis quoi qu'il arrive
2) bien mettre document.coordonee.submit(); dans le javascript, cela vous assure que si votre vérification est ok le formulaire est soumis
3) mettre une action="acompte.php" si vous voulez que ca enchaine sur une page après votre formulaire ;)


<form name="coordonee" action="acompte.php" method="post">
<label for="nom" class="ui-hidden-accessible">Nom:</label>
<input type="text" name="nom" id="nom" value="" placeholder="Nom"/>
<label for="prenom" class="ui-hidden-accessible">Prénom:</label>
<input type="text" name="prenom" id="prenom" value="" placeholder="Prénom"/>
<label for="email" class="ui-hidden-accessible">Email:</label>
<input type="email" name="email" id="email" value="" placeholder="Email"/>
<label for="mobile" class="ui-hidden-accessible">Tel. mobile:</label>
<input type="tel" name="mobile" id="mobile" value="" placeholder="Tel. mobile"/>
<input type="button" value="Valider" data-theme="b" onClick="verif()"/>
</form>

<script language="javascript">
function verif()
{
var nom = document.coordonee.nom.value;
if (nom == "")
{
alert ("Veuillez saisir votre nom");
document.coordonee.nom.focus();
return false;
}
else
{
document.coordonee.submit();
return true;
}
}

</script>

A bientôt!
0