Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2765 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Ajax] Soucis d'accent [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Ajax] Soucis d'accent [Résolu]

n°2069950
forestguns
Posté le 14-04-2011 à 14:18:02  profilanswer
 

Bonjour,
 
J'ai un soucis avec Ajax, je vous livre ci plus bas mon code.
 
Lorsque que une option du 1er select (departement) contient un caractére spécial, le second select (element) affiche une liste vide.
 
Je pense que le soucis viens de Ajax qui affiche certainement un ? dans un losange dans ma variable.
Quelqu'un aurait une solution pour forcer Ajax a passer mes accents ?
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
  5. <script type="text/javascript" src="oDOMImplementation.js"></script>
  6. <script type="text/javascript">
  7. function getXhr(){
  8.     var xhr = null;
  9. if(window.XMLHttpRequest)
  10.  xhr = new XMLHttpRequest();
  11. else if(window.ActiveXObject){
  12.  try {
  13. xhr = new ActiveXObject("Msxml2.XMLHTTP" );
  14. } catch (e) {
  15. xhr = new ActiveXObject("Microsoft.XMLHTTP" );
  16. }
  17. }
  18. else {
  19. alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
  20. xhr = false;
  21. }
  22.     return xhr;
  23. }
  24. function go(){
  25. var xhr = getXhr();
  26. xhr.onreadystatechange = function(){
  27. if(xhr.readyState == 4 && xhr.status == 200){
  28. leselect = xhr.responseText;
  29. document.getElementById('element').innerHTML = leselect;
  30. }
  31. }
  32. xhr.open("POST","gestionStockAjax.php",true);
  33. xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  34. sel = document.getElementById("departement" );
  35. dept= sel.options[sel.selectedIndex].value;
  36. xhr.send("idDept="+dept);
  37. }
  38. </script>
  39. </head>
  40. <body>
  41. <?php
  42. include 'connection.php';
  43. ?>
  44. <form action="traitementModifGestionElement.php">
  45. Département :
  46. <select name="departement" id="departement" onchange="go()">
  47. <option value="-1">Choix</option>
  48. <?php
  49. $res = mysql_query("SELECT DISTINCT depNom FROM element ORDER BY depNom" );
  50. while($row = mysql_fetch_array($res)){
  51. echo '<option value="'.$row['depNom'].'">'.$row['depNom'].'</option>';
  52. }
  53. ?>
  54. </select>
  55. <br>
  56. Element :
  57. <div id="element" style="display:inline">
  58. <select name="element" >
  59. <option value="-1">Choisir un Departement</option>
  60. </select>
  61. </div>
  62. <br>
  63. <input type="submit" name="Selection" value="Selection">
  64. </form>
  65. <form method="post" action="traitementEnvoiGestionElement.php">
  66. <?php
  67. $resultat = mysql_query("SELECT * FROM tabletmp" );
  68. while($data=mysql_fetch_array($resultat)){
  69. $element = $data['ttVal'];
  70. $result = mysql_query('SELECT * FROM element WHERE eleNom=\''.$element.'\' ');
  71. while($donnee=mysql_fetch_array($result)){
  72.  $departement = $donnee['depNom'];
  73.  echo 'Element : <input type="text" value="'.$donnee['eleNom'].'" name="element" >';
  74.  echo '<input type="hidden" value="'.$donnee['eleNom'].'" name="el" >';
  75.  echo '<br>';
  76.  echo 'Stock : <input type="text" name="etat" value="'. $donnee['eleEtat'].'">';
  77.  echo '<input type="hidden" name="state" value="'. $donnee['eleEtat'].'">';
  78.  echo '<br>';
  79.  echo 'Niveau Limite : <input type="text" name="niveauLimite" value="'. $donnee['eleNiveauLimite'].'">';
  80.  echo '<input type="hidden" name="nivLim" value="'. $donnee['eleNiveauLimite'].'">';
  81.  echo '<br>';
  82.  echo '<input type="hidden" name="dept" value="'. $donnee['depNom'].'">';
  83.  echo 'Département : <select name="departement" id="departement">';
  84.  $s2 = '';
  85.  $res = mysql_query('SELECT * FROM departement ');
  86.  while($dot=mysql_fetch_array($res)){
  87.   if($dot['depNom'] == $departement){
  88.    $s1 = '<option value='.$departement.'>'.$departement.'</option>';
  89.   }else{
  90.    $s2 = $s2 . '<option value='.$dot['depNom'].'>'.$dot['depNom'].'</option>';
  91.   }
  92.  }
  93. echo $s1 . '' .$s2;
  94. echo '</select>';
  95. echo '<br>';
  96. echo '<input type="submit" value="Modifier">';
  97. }
  98. }
  99. ?>
  100. </form>
  101. <?php
  102. @mysql_close();
  103. ?>
  104. </body>
  105. </html>


 

Code :
  1. <?php
  2. include 'connection.php';
  3. $element = $_GET['element'];
  4. $resultat = mysql_query('SELECT * FROM element WHERE eleNom=\''.$element.'\'');
  5. mysql_query("TRUNCATE tabletmp" );
  6. while($data=mysql_fetch_array($resultat)){
  7. $el = $data['eleNom'];
  8. mysql_query("INSERT INTO tabletmp VALUES('$el')" );
  9. }
  10. mysql_close();
  11. ?>


 

Code :
  1. <?php
  2. header('Content-Type: text/html; charset=ISO-8859-1');
  3. echo "<select name='element'>";
  4. if(isset($_POST['idDept'])){
  5.  $departement = $_POST['idDept'];
  6.  include 'connection.php';
  7.   $res = mysql_query('SELECT * FROM element WHERE depNom=\''.$departement.'\' ORDER BY eleNom');
  8.   while($data = mysql_fetch_array($res)){
  9.    $nom = $data['eleNom'];
  10.    echo '<option value="'.$nom.'">'.$nom.' (Reste : ' .$data['eleEtat']. ')</option>';
  11.   }
  12. }
  13. echo '</select>';
  14. ?>


 
 
------------- Edit -------------
 
J'ai ajouter dans la page gestionStockAjax.php

Code :
  1. $departement = mb_convert_encoding($_POST['idDept'], "ISO-8859-1", "UTF-8" );


Message édité par forestguns le 14-04-2011 à 15:49:57
mood
Publicité
Posté le 14-04-2011 à 14:18:02  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Ajax] Soucis d'accent [Résolu]

 

Sujets relatifs
Moteur de recherche perso en PHP : soucis avec des accents.Probème d'accent dans le sujet de mail PHP
Help ! AJAX - POST et PHP pour fichier CSVAjax > Appel Javascript = Problème !
apprentissage tableau html soucissoucis avec les dimensions d un tableau
Récupérer une variable Javascript avec AJAX[AJAX] Afficher données d'une BDD avec filtrage via liste déroulante
Modifier un code ajaxAjax et checkbox
Plus de sujets relatifs à : [Ajax] Soucis d'accent [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR