Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2011, 10h54   #1
Futur Membre du Club
 
Homme
Développeur Web
Inscription : novembre 2007
Messages : 185
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : novembre 2007
Messages : 185
Points : 15
Points : 15
Par défaut Perte de valeur formulaire aprés message alert

Bonjour à tous


Jai un formulaire sur lequel j'effectue des contrôles de saisies. Lorsque un champs obligatoire n'est pas rempli j'affiche un message alert().
Mais en cliquant sur OK, je me retrouve sur mon formulaire mais les valeurs de mes listes deroulantes séléctionnées par l'utilisateur ne s'affichent plus , il est contraint de re-selectionner ses valeurs.

Ma question est la suivante comment garder les valeurs de ma liste deroulante aprés le message d'erreur alert ()?

Voici un exemple sur le controle de saisie de quelques champs
Code :
1
2
3
4
5
 
if ($date_souhaite=="" and $nature_demande=="" and $activite=="")
	{
	echo "<script>alert(\"Erreur : ATTENTION Les champs d'identification de la demande sont obligatoire.\")</script>"; 
	}
Merci d'avance
kamnouz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 11h02   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
on dirait que tu mélanges deux choses

tu mélanges la validation avant envoi du formulaire (sur évenement onsubmit) (optionnelle) et la vérification coté serveur (obligatoire) des données.

si tu ne fais que des tests côtés serveurs, le minimum légal, il faut que ton formulaire puisse se pré-remplir quand il se reçoit lui-même, ce qui demande un peut d'organisation.

Si tu veux juste faire un peu de JS (attention, le JS c'est un confort, pas une sécurité: ça se désactive) tu crée une fonction qui utilise l'évenement onsubmit du formulaire et qui, lorsque les données ne sont pas bonne provoque l'affichage de l'alerte et l'arret de la propagation de l'évenement (donc annule la soumission du formulaire).
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 11h04   #3
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Bonjour,

Regarde la Contrôler et réafficher un formulaire avec les valeurs déjà saisies

Tu peux aussi voir la faq Javascript.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 11h46   #4
Futur Membre du Club
 
Homme
Développeur Web
Inscription : novembre 2007
Messages : 185
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : novembre 2007
Messages : 185
Points : 15
Points : 15
Merci encore pour vos réponse !

J'ai opté pour une petite fonction javascript

la voici :
Code :
1
2
3
4
5
6
7
8
9
 
function verification()
{
if(document.getElementById('nature_demande').value =="")
{
alert ('Vous avez oublié de saisir la nature demande');
return false;
}return true;
}
Mais je n'arrive pas à faire le controle sur ma liste deroulante :
Code :
1
2
3
4
5
6
7
8
9
 
<SELECT name="nature_demande" id ="nature_demande"size="1"style="width:200px">
<OPTION></OPTION>
<OPTION>Analyse des données client
<OPTION>Assurer un soutien metier
<OPTION>Création d'un tableau de bord
<OPTION>Remonter un detail d'appels
<OPTION>Matrices PV
</SELECT>
kamnouz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 11h50   #5
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Tes options n'ont pas d'attribut value.

Code html :
1
2
<option></option>
<option value="1">Analyse des données client</option>
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 13h40   #6
Futur Membre du Club
 
Homme
Développeur Web
Inscription : novembre 2007
Messages : 185
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : novembre 2007
Messages : 185
Points : 15
Points : 15
Ah effectivement maintenant sa marche beacoup mieu merci

J'aurai une autre petite question dans ma fonction javascript verification() , je voudrais comparer deux dates provenant de mon formulaire.

Voila le principe en php mais j'aimerai l'interger dans ma fonction javascript est-ce possible ?

Code :
1
2
3
4
5
6
7
8
 
if (($souhaite_convert < $demande_convert) and ($souhaite_convert!="0" )) {	
		echo "<script>alert(\"Erreur : ATTENTION Date souhaité doit être superieur ou égale à la date de la demande.\")</script>"; }  
if (($souhaite_convert > $demande_convert) and ($souhaite_convert!="" )) {	
	$req_insertFA="INSERT INTO fiche_action (identifiant,nom,prenom,date_demande,departement,service,mail,nature_demande,date_souhaite,piece_jointe,activite,commentaire)			
	VALUES ('$profil','$nom','".addslashes($prenom)."','$date_demande','$departement','$service','$mail','".addslashes($nature_demande)."','$date_souhaite','$destinataire','".addslashes($activite)."','".addslashes($commentaire)."')"; 						 
	$res_insertFA=mysql_query($req_insertFA, $db) or die($req_insertFA. " - " . mysql_error());	
	header('Location: mail.php');    }
kamnouz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 13h47   #7
Futur Membre du Club
 
Homme
Développeur Web
Inscription : novembre 2007
Messages : 185
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : novembre 2007
Messages : 185
Points : 15
Points : 15
Petite correction dans mon code le deuxieme if n'est pas necessaire else suffit
kamnouz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h02.


 
 
 
 
Partenaires

Hébergement Web