IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Affichage d'un message avec "Alert"


Sujet :

JavaScript

  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut Affichage d'un message avec "Alert"
    Bonjour,

    J'utilise Javascript pour des contrôles, mais certains de ces contrôles ne peuvent être fait que sur le serveur à cause de la base de données.

    Quand je ré-affiche ma page lorsque le serveur me signal une anomalie sur le serveur, je voudrais utiliser "alert" ou autre chose pour visualiser les messages d'erreur.

    Cet affichage doit être automatique et non pas en fonction d'un onload ou autre chose.

    Je connais très peu Java, mais est-ce possible.

    Merci

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Humm en fait tu veux que ton serveur lors de la création de la page te signale les erreurs s'il y en a par alert...SI je me trompe pas c'est ca...

    Ben dans ce cas tu testes pour savoir s'il y a des erreurs, tu les concatènes à une variable tout au long de la création de la page et à la fin du fait un echo de l'alert. Ca devrait fonctionner ca

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Oui c'est ce que j'ai jusqu'à maintenant, mais je voudrai amélioré pour être cohérent dans ma présentation.

    J'ai des contrôles coté client en javascript avec affichage d'une alert et des contrôles côté serveur aujourd'hui en echo que je voudrai voir appraître avec le même look que l'alert javascript.

    C'est pour faire beau quoi !!!

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Ben c'est ce que je disais tu utilises php avec JS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<script language="javascript">alert(\''.$message.'\');</script>'
    Si tu fais ca, ca fait pas la meme chose que tu as en js ?

  5. #5
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Ah oui c'est ce que tu as dit ?

    Bon je vais changer les piles de mon sonotone.

    J'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($messages!="")
    {
    echo "<script language='javascript'>alert('$messages');</script>";
    }
    Et c'est bon, juste une dernière chose.

    Dans $message, je mets plusieurs messages éventuellement. Chaque message commençant par <p> pour aller à la ligne.

    Alert me met tout à la queue leuleu.

    Existe-t-il un caractère changer de ligne.

    Merci

  6. #6
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    window.alert n'affiche pas du HTML mais du texte "normal"...
    En JS, le CrLf (13-10) se réprésent "\n"

  7. #7
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    D'accord pour \n

    Mais je place comment dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $echec=$echec."- Dans votre libellé, caractère(s) non conforme"
    Si je le place comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $messages="Echec Corrigez votre saisie :"\n .$echec;
    J'ai l'erreur suivante ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: Unexpected character in input: '\' (ASCII=92) state=1 in c:\program files\easyphp1-8\www\gestelle\admin\maj_tables.php on line 82
     
    Parse error: parse error, unexpected T_STRING in c:\program files\easyphp1-8\www\gestelle\admin\maj_tables.php on line 82
    Un conseil ?

    Merci

  8. #8
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ("Erreur :\\n".Message);
    Il me semble

  9. #9
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Merci Fremy,

    C'est \\n

    Tout est ok

  10. #10
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    J'ai parlé trop vite :

    j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($messages!="")
    {print_r($messages, $return = null);
    echo "<script language='javascript'>alert('$messages');</script>";
    }
    Dans $message affiché grâce à print_r j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Echec Corrigez votre saisie :\n- Choisissez une Table, c'est obligatoire\n
    Mais "echo" ne s'affiche pas

    kézako docteur ?

    Est-ce grave ?

  11. #11
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Je ne sais pas trop...
    La (les) question(s) est (sont) :
    Le \n n'est-il pas interprété par le PHP ?
    Y a-t-il une erreur déclarée ?
    Quel est le code généré ?
    Que dit la console de FireFox ?
    Après tests, cibler la source de l'erreur (PHP, JS)...

  12. #12
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Je fais les contrôles dans l'ordre suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // Contrôle de l'intégrité de données en cas de suppression à partir de cette table
    if ($demande_trt =="Supprimer")
    	{
    	// Recherche des noms des tables disponibles commençant par
    	$req = "SELECT count(libelle) FROM $lien";
    	$val= mysql_fetch_array(mysql_query($req));
    		$nbre = $val[0];
    		if($nbre>0)
    		{
    			$echec=$echec."- Suppression impossible, la table $lien est utilisé dans Gestelle\\n";
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Contrôle de la cohérence des champs de la table libellé
    $pattern ='`^[a-zA-Z0-9éèêùôçàâî\-\'\(\),\% ]*$`';
        if(!preg_match($pattern, $libelle))
        {
            $echec=$echec."- Dans votre libellé, caractère(s) non conforme\\n";
        }
    // Contrôle de la présence d'un lien
    	if($lien=='')
        {
            $echec=$echec."- Choisissez une Table, c'est obligatoire\\n";
        }
    Ensuite, j'insère mon texte de départ de message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $messages="Echec - Corrigez votre saisie :\\n".$echec;
    La fenêtre ne s'afficha pas que lorsque j'ai l'erreur sur la présence du lien.

    Pour contrôler j'ai ajouter un print_r au moment de l'affichage de l'"alert"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($messages!="")
    {print_r($messages, $return = null);
    echo "<script language='javascript'>alert('$messages');</script>";
    }
    Si je fais une erreur sur le libellé j'ai mon alert et mon print_r contient ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Echec - Corrigez votre saisie :\n- Dans votre libellé, caractère(s) non conforme\n
    Si je n'ai pas de table en plus de l'anomalie sur le libellé, je n'ai plus d'alert, mon print_r contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Echec - Corrigez votre saisie :\n- Dans votre libellé, caractère(s) non conforme\n- Choisissez une Table, c'est obligatoire\n
    Et je reste bien sur ma page puisqu'il a détecté une anomalie.

    Voila

  13. #13
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    ...C'est obligatoire... C'est malin mais avec ca tu referme tes guiellements ouvrants...

    Erreur de synthaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert('Blablabla... C'est obligatoire')
    Pour afficher un ', tu dois écrire dans le flux \', et comme PHP interprête le \, tu dois écrire \\' dans ton PHP...

  14. #14
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Moi je me demande si c'est pas un problème du coté contenu alert...SI tu pouvais executer ta page sous FF et nous dire ce qu'il sort de la console javascript et aussi nous montrer le code généré (surtout la zone de l'alert).

    Mais penses à échaper les caractères telles que quote et etc...

    J'ai trop du mal à lire moi, en plus je suis en retard

  15. #15
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Ah ! Fremy c'était bien un problème de '\\n', maintenant c'est tout bon

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo