Afficher tous les messages d'erreur

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 : Afficher tous les messages d'erreur

Re: Afficher tous les messages d'erreur

par Fredy07 » 23 févr. 2011, 14:34

$("#name, #pseudo").blur(function(){

});
ca marche pas

Re: Afficher tous les messages d'erreur

par Fredy07 » 23 févr. 2011, 14:29

Va falloir te référer à la documentation des sélecteurs de jQuery, car là cela sort de mes compétences. ^^
Cella la je pense

Re: Afficher tous les messages d'erreur

par xTG » 23 févr. 2011, 13:08

Va falloir te référer à la documentation des sélecteurs de jQuery, car là cela sort de mes compétences. ^^

Re: Afficher tous les messages d'erreur

par Fredy07 » 23 févr. 2011, 13:05

Et du cote fonction:
$("#name").blur(function(){
// traitement ici
});

$("#pseudo").blur(function(){
// traitement ici
});
On ne peut pas les combiner?

Re: Afficher tous les messages d'erreur

par Fredy07 » 23 févr. 2011, 12:48

Oui tu peux le faire avec :

Code : Tout sélectionner

if ($("#name").val() == '' || $("#pseudo").val() == '')
J'ai cru qu'il y a quelque chose du type:
if ($("#name#pseudo") ...
:)

Re: Afficher tous les messages d'erreur

par xTG » 23 févr. 2011, 12:45

Oui tu peux le faire avec :

Code : Tout sélectionner

if ($("#name").val() == '' || $("#pseudo").val() == '')

Re: Afficher tous les messages d'erreur

par Fredy07 » 23 févr. 2011, 12:25

Juste ok, d'ailleurs il ne devrait pas y avoir tout un code HTML vu que cette page n'est pas visible par l'utilisateur.
Elle devrait être épurée et ne contenir que les informations requises par le script. :)
Donc au maximum echo "ok"; et les informations d'erreurs/autres si utilisation du json.
Je vais essayer de les ajuster, avant de resoudre le probleme de la transmission du message (affichage niveau php et jQuery), j'aimerais juste combiner 2 verification, par exemple, je voudrais verifier le nom et le pseudo:

nom:
$("#name").blur(function(){
	
	if ($("#name").val() == '')
	{
		$("#msgbox").text('Vous avez oublier au moins un champs vide').fadeIn("slow");
	}
pseudo:
$("#pseudo").blur(function(){
	
	if ($("#pseudo").val() == '')
	{
		$("#msgbox").text('Vous avez oublier au moins un champs vide').fadeIn("slow");
	}
Y a t il une methode de combiner les 2 en une seule, parce qu'il y a le meme message qui s'affiche en bas du formulaire.

Merci

Re: Afficher tous les messages d'erreur

par xTG » 23 févr. 2011, 11:17

Juste ok, d'ailleurs il ne devrait pas y avoir tout un code HTML vu que cette page n'est pas visible par l'utilisateur.
Elle devrait être épurée et ne contenir que les informations requises par le script. :)
Donc au maximum echo "ok"; et les informations d'erreurs/autres si utilisation du json.

Re: Afficher tous les messages d'erreur

par Fredy07 » 23 févr. 2011, 02:43

Juste une petite clarification avant d'avancer en json, le code retourne par la fonction "response" doit etre "ok" ou bien tout le code html:
<html>
<head>
<script src="jquery.js" type="text/javascript"></script>
</head>

<body>
C'est bien recu<br>ok</body>
</html>

Re: Afficher tous les messages d'erreur

par xTG » 22 févr. 2011, 14:02

Donc dans les deux cas tu enverrais des données provenant du PHP.
Il faut donc pouvoir identifier les deux cas.

Je me pencherai pour ma part vers un objet json du style : {etat:"ok",contenu:"données du code PHP"} / {etat:"erreur", contenu:"erreurs PHP"}
Du côté de PHP il faut utiliser json_encode().
Et du côté javascript il suffit de lire les données comme pour accéder aux attributs d'un banal objet il me semble.

Re: Afficher tous les messages d'erreur

par Fredy07 » 22 févr. 2011, 11:52

Je n'avais pas lu le else de ton code js, cela dit tu aurais tout de même pu t'en sortir.
Car actuellement il t'affiche le contenu affiché par PHP dans ton élément via jquery.
Donc il te suffit de supprimer les affichages inutiles pour n'afficher que ok pour valider le else de la condition :

Code : Tout sélectionner

if (response != 'ok')
l'idee du code c'est de faire:

* En cas de success:
+ un slideToggle pour le message "Merci! Votre commentaire etait bien sousmis",
+ inclure le contenu du code PHP dans la page.

* En cas d'echec:
+ un slideToggle pour les messages d'erreur.

en decommentant le if(response != 'ok'), j'obtiens en cas d'echec, l'erreur cote PHP + "Merci! Votre commentaire etait bien sousmis".
$.ajax({
	
	type: 'POST',
	url: 'process2.php',
	data : dataString, 
	success: function(response)
		{  // en cas de failure le code de background est: #ddc9c8 et le success: #badfac et le bleu: #ccccff
		//if (response != 'ok')
		//{
			$("#msg").slideDown('normal').html(response);
		//}
		//else
		//{
			$("#msgs").slideDown('normal').html('<b>Merci! Votre commentaire etait bien sousmis');
		//}
		}
	
	});

Re: Afficher tous les messages d'erreur

par xTG » 22 févr. 2011, 11:26

Je n'avais pas lu le else de ton code js, cela dit tu aurais tout de même pu t'en sortir.
Car actuellement il t'affiche le contenu affiché par PHP dans ton élément via jquery.
Donc il te suffit de supprimer les affichages inutiles pour n'afficher que ok pour valider le else de la condition :

Code : Tout sélectionner

if (response != 'ok')

Re: Afficher tous les messages d'erreur

par Fredy07 » 22 févr. 2011, 10:47

Certes, quand on a la connaissance suffisante pour comprendre les réponses.
Dans ton cas le problème se résout en décommentant une ligne, c'est donc un manque certain de compréhension du langage ou bien de raisonnement tout court.
Or pour cela nous ne pouvons rien faire pour toi, si ce n'est te conseiller de lire des cours.
Je pense que vous voulez dire en decommentant cette ligne:
      //echo 'Merci! votre formulaire a ete bien soumis';
Je l'ai commente, et je voudrais afficher ce message "Merci! votre formulaire a ete bien soumis", du cote jQuery et ne pas PHP, je pense que le message etait mal transmis :)

Re: Afficher tous les messages d'erreur

par xTG » 22 févr. 2011, 10:25

Certes, quand on a la connaissance suffisante pour comprendre les réponses.
Dans ton cas le problème se résout en décommentant une ligne, c'est donc un manque certain de compréhension du langage ou bien de raisonnement tout court.
Or pour cela nous ne pouvons rien faire pour toi, si ce n'est te conseiller de lire des cours.

Re: Afficher tous les messages d'erreur

par Fredy07 » 22 févr. 2011, 03:01

Je vais tenter de t'expliquer sans être vulgaire.
Le code est certes à baffer mais ce n'est pas sa faute. Le soucis provient essentiellement d'entre la chaise et l'écran.
Quand on se lance dans un projet il serait bon de s'investir, auquel cas il est voué à l'échec sauf si quelqu'un d'autre le fait à ta place. Or je ne me considère pas comme ce quelqu'un d'autre.
Si on recours a un forum c'est d'avoir demande de l'aide :)