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 :

Probleme d'informations erronées


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut Probleme d'informations erronées
    Voila je vous explique mon problème, j'ai une liste déroulante de mes noms de cliens. Quand je clique dessus à l'aide de mon code javascript, une autre liste s'affiche avec les prénoms des clients qui ont le nom sélectionné dans la première liste, jusqu'ici tout va bien.

    Mais voila le probleme est lorsque le nom a un accent, il ne me trouve pas les prenoms, il n'arrive pas a comprendre les accents...

    Que faire pour que mon javasript comprenne bien ce qu'il reçoive et me renvoie bien les prénoms non erronés du stylr "ren?"

    Merci de votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    est ce que quelqu'un aurai une solution pour que javascript prenne en compte mes données avec des accents.

  3. #3
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    la méthode escape() peut peut-être te servir non?

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par linar009
    la méthode escape() peut peut-être te servir non?
    +1 : il faut sans doute utiliser la combinaison escape-unescape
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    Serai t-il possible de m'expliquer comment cette fonction fonctionne sur un petit exemple tout simple afin de voir si cela est possible à adapter à mon code (je suis un petit peu pommé en js)?
    Merci de votre aide.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    Mon problème vient surement de ma partie avec XMLHttpRequest, il capte pas les accents.
    Comment faire?
    Merci de votre aide.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    escape est l'équivalent JavaScript de la fonction urlencode de PHP...
    De même que unescape correspond la fonction uredecode de PHP
    Exemple simple pour ton problème XmlHttpRequest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.send("name=" + escape(name) + "&lastname=" + escape(lastname))
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    Merci bien je me suis servis de escape et ça marche nikel avec un ptit utf8_encode et ca roule.

    Il me reste quand même un souci qui n'est pas des moindre, quand j'ai un client qui a un nom composé par ex: Di Maggio, il ne me trouve pas les prénoms associés.

    Comment faire pour que le système marche avec des noms avec espace.

    Merci de votre aide.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    Pour les accents, le problème revient presque une fois sur deux, une fois ca marche les prénoms ne sont pas erronés, une autre fois les prénoms sont erronés, je vois pas ce que c'est et en plus ca veut dire que c'est pas stable donc pas cool.

    Est ce que ça vous est déjà arrivé et comment le résoudre?

    Merci de votre aide.

    ps: j'ai toujours le problème avec des prenoms composés du style Di Maggio

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Tu as essay de vider le cache ?
    Le navigateur a peut-être encore des résultat de requête erronés...
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    toujours pas, et le probleme de nom composé avec un espace entre, vous avez une idée.

    Merci de votre aide.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Sans doute un probleme coté serveur...ou d'autres variables non url-encodées... je vois pas trop... tu n'as pas de bouts de codes ?
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    <html>
    <form method="POST" action="updateClient.php">
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <script type="text/javascript">
    	/**
    	 * Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
    	 */
    	function sendData(param, page)
    	{
    		if(document.all)
    		{
    			//Internet Explorer
    			var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
    		}//fin if
    		else
    		{
    		    //Mozilla
    			var XhrObj = new XMLHttpRequest();
    		}//fin else
     
    		//définition de l'endroit d'affichage:
    		var content = document.getElementById("contenu");
     
    		XhrObj.open("POST", page);
     
    		//Ok pour la page cible
    		XhrObj.onreadystatechange = function()
    		{
    			if (XhrObj.readyState == 4 && XhrObj.status == 200)
    				content.innerHTML = XhrObj.responseText ;
    		}
     
     
    		XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    		XhrObj.send(param);
    		//xhr.send("name=" + escape(nom) + "&lastname=" + escape(prenom))
    	}//fin fonction SendData
     
        </script>
    </head>
     
     
    <body>
     
    <?php
     
    	// Paramètres de la Connexion à la base MYSQL
     
     
       $i=0; // variable de test
       $j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
     
      $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
     
       mysql_select_db($database,$connexion);
     
       // Séléction de tous les enregistrements de la table Catégorie
     
       $rq="Select Distinct Nom from client;";
     
       $result= mysql_query ($rq) or die ("Select impossible");
     
       echo "<form method='POST' action='valid.php'>";?>  
     
     
     
       <br>Modifier un client<br><br><br><br>
       <select size="3" name="nom" OnChange="sendData('id='+escape(this.value),'ecouteModifierClient.php')" onKeyUp="sendData('id='+escape(this.value),'liresc.php')">
     
    <?php     
            //la méthode escape permet de récupérer les données même si celle-ci ont des accents
     
      while ($dt=mysql_fetch_row($result))
       {
        // Remplir la liste déroulante des catégorie      
            echo "<option value=".($dt[0]).">".($dt[0])."</option>";
        if ($i==0) { $j=$dt; $i=1; } // garder la valeur du premier enregistrement
       }
        
       ?>    
       </select><br><br>
     
     
       <div id="contenu">
     <?php  
      // affichage des sous-catégorie appartenant à la première catégorie.
       echo "<select size='3' name='prenom'>";   
        $rq="Select Prenom from client where Nom=".$j.";";
        $result= mysql_query ($rq) or die ("Select impossible");
         // $i = initialise le variable i
        $i=0;
        while ($dt=mysql_fetch_row($result))
        { 
             echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[0])."</option><br>";
        }    
            echo "</select>";
       ?>  
     
       </div>
       <br>  
     
     
    </form>
    </body>
    </html>

    Et après j'ai mon autre menu déroulant gérer par ecouteModifierClient.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <html>
    <form method="POST" action="updateClient.php">
     
     
    <?php
     
            // test des POST emis
            
            
    if(isset($_POST['id']) && !empty($_POST['id']) ){
     
     
       $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");   
       mysql_select_db($database,$connexion);
      
            
        $rq="Select Prenom from client where Nom='".$_POST['id']."';";
        $result= mysql_query ($rq) or die ("erer");
         
            //$result=$cybercommune->getPrenom($_POST['id']);
            
            
            //$result[1]
             // $i = initialise la variable i
        $i=0;
            if (mysql_num_rows($result)>0)
            {
              echo "<select size='1' name='prenom'>";
            }
            else
            {
              echo ("Pas de sous catégories disponible")
            }
        while ($dt=mysql_fetch_row($result))
        {   
             echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[0])."</option><br>";
        }  
            echo "<input type=".submit." value=".Envoyer." name=".envoyer.">";      
            echo "</select>";
            
            
    }
     
    ?>
    </form>
    </html>

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    voila et ce truc marche quand il veut, je vois vraiment pas.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XhrObj.open("POST", page);
    ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XhrObj.open("POST", page,true);
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    Non, ça marche pas mieux.
    Il y a un truc qui déconne par exemple je passe sur un nom dont le prénom est Clément, pendant 1/10 de seconde, on voit qu'il affiche Clément, puis le remplace le plus rapidement possible par Cl?ment.

    Ca vient peut être des utf8encode.

    Merci de votre aide.

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    Si j'enlève les utf8-encode je ne vois pas plus pendant 1/10 seconde le bon prénom, donc mon utf8 est indispensable mais n'arrive à garder la valeur qu'initialement il met ds la liste déroulante (pendant 1/10 seconde).

    Est ce que quelqu'un voit quel est le problème ?

    Merci de votre aide.

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    pendant 1/10 de seconde c'est le bon prénom et hop prénom erroné.
    Si quelqu'un aurai une piste ce serai sympa.

    Merci de votre aide.

Discussions similaires

  1. [AJAX] Liste déroulante pour afficher les informations en ajax div ?
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 17/11/2006, 09h06
  2. probleme d'affichage des informations avec quickrep
    Par hamadi_insat dans le forum Bases de données
    Réponses: 1
    Dernier message: 14/09/2006, 19h31
  3. Informations erronées et manquantes dans phpinfo
    Par skipou dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 26/07/2006, 10h01
  4. Problemes avec les header informations
    Par BernardT dans le forum Langage
    Réponses: 1
    Dernier message: 15/11/2005, 13h10

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