Afficher tous les messages d'erreur

ViPHP
xTG
ViPHP | 7331 Messages

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

Eléphant du PHP | 214 Messages

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');
		//}
		}
	
	});

ViPHP
xTG
ViPHP | 7331 Messages

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.

Eléphant du PHP | 214 Messages

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>

ViPHP
xTG
ViPHP | 7331 Messages

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.

Eléphant du PHP | 214 Messages

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

ViPHP
xTG
ViPHP | 7331 Messages

23 févr. 2011, 12:45

Oui tu peux le faire avec :

Code : Tout sélectionner

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

Eléphant du PHP | 214 Messages

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

Eléphant du PHP | 214 Messages

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?

ViPHP
xTG
ViPHP | 7331 Messages

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. ^^

Eléphant du PHP | 214 Messages

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

Eléphant du PHP | 214 Messages

23 févr. 2011, 14:34

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

});
ca marche pas