javascript ds formulaire php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : javascript ds formulaire php

Re: javascript ds formulaire php

par afi » 13 déc. 2011, 17:28

ok merci pour toutes tes infos

Re: javascript ds formulaire php

par moogli » 11 déc. 2011, 16:03

1/ le return dans la déclaration du formulaire va forcément refuser l'envoi :)
2/ dans la fonction JS c'est que dans le cas else que tu a u return true; le return false dans touts les autre cas :)
donc dans ce style la.
[javascript]
function info(){
if(document.infocompl.nom.value==''){ // 1
alert(complétez le champ nom !');
document.infocompl.nom.focus();
}
else if(document.infocompl.prenom.value=='') {
alert(complétez le champ prénom !');
document.infocompl.prénom.focus();
}
else {
return true;
}
return false;
//etc.. pour les autres champs
}
[/javascript]

tu peux aussi utiliser, sur firefox et chrome, l'extension firebug pour suivre ce qui ce passe dans ton script JS.

@+

Re: javascript ds formulaire php

par afi » 11 déc. 2011, 14:21

désolé si j'utilise ton code:
<form name="infocompl" action="form_infocompl.php" method="post" onSubmit="return info();">
pour moi ça ne fonctionne pas le form se validepar rapport à :
<form name="infocompl" action="form_infocompl.php" method="post" onSubmit="info();return(false)">

Re: javascript ds formulaire php

par xTG » 11 déc. 2011, 14:02

Si tu veux appliquer le retour de la fonction JS il faut faire ainsi :
<form name="infocompl" action="form_infocompl.php" method="post" onSubmit="return info();">

Re: javascript ds formulaire php

par afi » 11 déc. 2011, 13:56

je crois avoir trouver ou placer return false, dans la baise form bien surrrrrr!!
<form name="infocompl" action="form_infocompl.php" method="post" onSubmit="info();return(false)">
dans le script ça ne fonctionne pas, ds la balise form ça marche, pour l'instant!!

Re: javascript ds formulaire php

par afi » 11 déc. 2011, 13:20

j'ai aussi utilisé comme ceci pour simplifié
function info()
{
if(document.infocompl.mobilite.value=='') // 1
{
alert('précisez la zone de mobilité professionnelle !');
document.infocompl.mobilite.focus();
return false
}
}

rien à faire ça ne fonctionne pas! le formulaire se valide au submit

Re: javascript ds formulaire php

par afi » 11 déc. 2011, 12:59

j'ai effectivement utilisé return false dans la fonction comme ceci:

function info()
{
if(document.infocompl.nom.value=='') // 1
{
alert(complétez le champ nom !');
document.infocompl.nom.focus();
}
else if(document.infocompl.prenom.value=='') // 1
{
alert(complétez le champ prénom !');
document.infocompl.prénom.focus();
}
else
{
return false;
}
}
mais ç ane fonctionne pas le formulaire se validequand même!

Re: javascript ds formulaire php

par moogli » 11 déc. 2011, 12:19

Salut,

La fonction js doit retourner false en cas d'erreur !

@+

javascript ds formulaire php

par afi » 11 déc. 2011, 11:54

bonjour,
J’ai besoin de votre aide SVP ! et merci d’avance. J’ai un pb avec mon formulaire php.
En effet quand j’active submit an laissant un champ vide, le navigateur me signale l’erreur. C’est normal ! Ce qui me gêne en cliquant sur le boutant Ok (boite dialogue) du message J.S. mon formulaire est validé automatiquement.
Comment évitez cela ? plus simplement comment lui dire de ne pas envoyer le form avant que je remplis le champ vide!
voici le form:
<form name="infocompl" action="form_infocompl.php" method="post" onSubmit="info()">
nom<input type="type" name="nom">
prénom<input type="text" name="prenom">
Autres champs input….
<input name="enregistrer" type="submit" value="enregistrer">
</form>
Voice le code php
<?php
if (isset($_POST['enregistrer']))
{
require ("Connect.php");
$connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
mysql_select_db (BASE,$connexion);
$requete = "UPDATE profil SET etc…
$resultat = mysql_query ($requete, $connexion);
}
?>
Voici la fonction java script qui vérifie les 2 champs nom et prénom du formulaire.
function info()
{
if(document.infocompl.nom.value=='') // 1
{
alert(complétez le champ nom !');
document.infocompl.nom.focus();
}
else if(document.infocompl.prenom.value=='') // 1
{
alert(complétez le champ prénom !');
document.infocompl.prénom.focus();
}
etc.. pour les autres champs
}
}