javascript ds formulaire php

afi
Eléphant du PHP | 51 Messages

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
}
}

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

11 déc. 2011, 12:19

Salut,

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

@+
Il en faut peu pour être heureux ......

afi
Eléphant du PHP | 51 Messages

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!

afi
Eléphant du PHP | 51 Messages

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

afi
Eléphant du PHP | 51 Messages

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!!

ViPHP
xTG
ViPHP | 7331 Messages

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();">

afi
Eléphant du PHP | 51 Messages

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)">

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

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.

@+
Il en faut peu pour être heureux ......

afi
Eléphant du PHP | 51 Messages

13 déc. 2011, 17:28

ok merci pour toutes tes infos