Page 1 sur 2
Afficher tous les messages d'erreur
Posté : 19 févr. 2011, 13:30
par Fredy07
Bonjour,
Je voudrais afficher tous les messages d'erreur de mon formulaire en jQuery, mais il m'affiche seulement le premier message:
if (name == '') {
$("#msg").slideDown(1000).html('<b>Veuillez entrer votre nom</b>');
return false;
}
if (username == '') {
$("#msg").slideDown(1000).html('<b>Veuillez entrer votre pseudo</b>');
return false;
}
<div id="msg"></div>
<form id="formulaire" action="#" method="POST">
Name: <input type="text" name="name" id="name" /><br />
Username: <input type="text" name="username" id="username" /><br />
<input type="submit" name="send" value="GO" id="send" />
</form>
Merci
Re: Afficher tous les messages d'erreur
Posté : 19 févr. 2011, 13:40
par xTG
Enlèves le return false;
Re: Afficher tous les messages d'erreur
Posté : 19 févr. 2011, 13:58
par Fredy07
Enlèves le return false;
Et par cette methode, ca marche pas aussi:
if (name == '') {
$("#msg").slideDown(1000).html('<b>Veuillez entrer votre nom</b>');
//return false;
}
else if (username == '') {
$("#msg").slideDown(1000).html('<b>Veuillez entrer votre pseudo</b>');
//return false;
}
else
{
$("#loading").html('<img src="loading.gif">');
/..
}
Re: Afficher tous les messages d'erreur
Posté : 19 févr. 2011, 16:13
par xTG
Bah aussi si tu rajoutes des else...
Le but d'une telle structure c'est justement de ne tomber que sur un seul cas.
Si tu souhaites détecter les erreurs utilises plutôt un compteur ou un booléen que tu vérifierais en tout dernier if pour afficher le loading.
Re: Afficher tous les messages d'erreur
Posté : 20 févr. 2011, 05:13
par Fredy07
et le loop ca se fait comment?
Re: Afficher tous les messages d'erreur
Posté : 20 févr. 2011, 12:41
par xTG
Qu'appelles-tu par loop ? Une boucle ?
Re: Afficher tous les messages d'erreur
Posté : 20 févr. 2011, 13:07
par Fredy07
Qu'appelles-tu par loop ? Une boucle ?
Je dis vraiment n'importe quoi, est ce de cette maniere, definir une variable a mes erreur et verifier si la variable existe sinon on affiche le loading.
Re: Afficher tous les messages d'erreur
Posté : 20 févr. 2011, 14:12
par xTG
Code : Tout sélectionner
var erreur = 0;
if (name == '') {
$("#msg").slideDown(1000).html('<b>Veuillez entrer votre nom</b>');
erreur++;
}
//...
if( erreur != 0 )
{
$("#loading").html('<img src="loading.gif">');
}
Re: Afficher tous les messages d'erreur
Posté : 21 févr. 2011, 11:57
par Fredy07
Code : Tout sélectionner
var erreur = 0;
if (name == '') {
$("#msg").slideDown(1000).html('<b>Veuillez entrer votre nom</b>');
erreur++;
}
//...
if( erreur != 0 )
{
$("#loading").html('<img src="loading.gif">');
}
Je l'ai teste c'est bien, j'aimerais verifier du code PHP, et transmettre la reponse au navigateur afin d'afficher le message (erreur ou ok), le probleme c'est que je veux afficher "Merci! Votre commentaire etait bien sousmis" et non "C\'est bien recu ok":
voila le code form.php:
Code : Tout sélectionner
<head>
<style type="text/css">
#msg {
/* padding-top: 0px; */
margin-top: 0px;
width: 500px;
background-color: #FF33cc;
color: #000000;
text-align: center;
cursor: pointer;
}
</style>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript" >
$(document).ready(function() {
$("#send").click(function(){
//Récupération des valeurs du formulaires
var name = $("#name").val();
var username = $("#username").val();
var dataString = 'name=' + name + '&username=' + username;
//var dataString = 'id='+ id + '&name='+ name;
$.ajax({
type: 'POST',
url: 'process2.php',
data : dataString,
success: function(response)
{
if (response != 'ok')
{
$("#msg").slideDown('normal').html(response);
}
else
{
$("#msg").slideDown('normal').html('<b>Merci! Votre commentaire etait bien sousmis');
}
}
});
//console.log(username);
return false;
});
});
</script>
</head>
<body>
<div id="msg" align="center"></div>
<form id="formulaire" action="#" method="POST">
Name: <input type="text" size="10" name="name" id="name" /><br />
Username: <input type="text" size="10" name="username" id="username" /><br />
<input type="submit" name="send" value="GO" id="send" /> <span id="loading"></span>
</form>
</body>
</html>
et process2.php:
Code : Tout sélectionner
<head>
<script src="jquery.js" type="text/javascript"></script>
</head>
<body>
<?php
//if (IsSet($_POST['send']))
//{
$name = $_POST['name'];
$username = $_POST['username'];
if (strlen($username) <= 2)
{
$error = 'Veuillez saisir au moins 2 caracteres pour votre pseudo<br>';
}
if (strlen($username) > 10)
{
$error .= 'Veuillez saisir moins de 10 caracteres pour votre pseudo<br>';
}
if (strlen($name) <= 2)
{
$error .= 'Veuillez saisir au moins 2 caracteres pour votre nom<br>';
}
if (strlen($name) > 10)
{
$error .= 'Veuillez saisir moins de 10 caracteres pour votre nom<br>';
}
if (IsSet($error))
{
echo $error;
echo 'erreur';
}
else
{
//echo 'Merci! votre formulaire a ete bien soumis';
include 'get_data2.php';
echo 'ok';
}
?>
et get_date2.php:
Merci
Re: Afficher tous les messages d'erreur
Posté : 21 févr. 2011, 12:00
par xTG
Je ne répondrai pas à une demande de cette envergure...
J'y perdrai surement mes cheveux.
Re: Afficher tous les messages d'erreur
Posté : 21 févr. 2011, 22:31
par Fredy07
Je ne répondrai pas à une demande de cette envergure...
J'y perdrai surement mes cheveux.
C'est quoi le probleme dans mon code?
Re: Afficher tous les messages d'erreur
Posté : 21 févr. 2011, 22:37
par xTG
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.
Re: Afficher tous les messages d'erreur
Posté : 22 févr. 2011, 03:01
par Fredy07
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

Re: Afficher tous les messages d'erreur
Posté : 22 févr. 2011, 10:25
par xTG
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
Posté : 22 févr. 2011, 10:47
par Fredy07
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
