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 :

[AJAX] httprequest et textfield


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Par défaut [AJAX] httprequest et textfield
    Salut,

    J'utilise httprequest pour changer la valeur d'un textfield. Le code marche sur FF, mais pas sur IE6.
    J'ai la bonne valeur dans xmlHttp.responseText;
    Il plante sur :
    document.getElementById("category").value=xmlHttp.responseText;

    Le code marche sur IE et FF sur un serveur Fedora core 2, avec php 5.2.0 et mysql 4.
    Mais pas sur CentOS 5.2, php 5.2.6, et mysql 5



    Ajax :
    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
     
    <script type="text/javascript">
    var xmlHttp;
     
    function showHint(str)
    {
      var str1=null;
      if (str.length==0)
        {
          document.getElementById("category").innerHTML="";
          return;
        }
      xmlHttp=GetXmlHttpObject();
      if (xmlHttp==null)
        {
          alert ("Browser does not support HTTP Request");
          return;
        }
      var url="get_category.php";
      url=url+"?q="+str;
      url=url+"&sid="+Math.random();
      var b;
      xmlHttp.open("GET",url,true);
      xmlHttp.onreadystatechange=stateChanged;
      xmlHttp.send(null);
     
      return(str);
    }
     
    function stateChanged()
    {
      var str=null;
      if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
        {
          var x;
          x = document.getElementById("category").value;
          x = xmlHttp.responseText;
          document.getElementById("category").value=xmlHttp.responseText;
     
        }}
    function createXMLHttpRequest(){
      var xmlHttp = null;
      if(typeof XMLHttpRequest != "undefined"){
        xmlHttp = new XMLHttpRequest();
      }
      else if(typeof window.ActiveXObject != "undefined"){
        try {
          xmlHttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
        }
        catch(e){
          try {
            xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
          }
          catch(e){
            try {
              xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e){
              xmlHttp = null;
            }
          }
        }
      }
      return xmlHttp;
    }
    Textfield a remplir :
    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
     
                                   <tr><td class="error" colspan="2" ><?php  printError('category', $errors);?></td></tr>
                            <tr>
                                    <td class="labelCell3">Category Entered *</td>
                                    <td class="fieldCell3">
                                    <select name="list_category_parent" onChange="javascript : modiflist()" >
                                            <option value=""></option>
                                    <?php
                                    $sql = "SELECT * FROM tbl_parent_category";
                                    $res_sql = mysql_query($sql, $prideinprint) or die (mysql_error());
                                    if (mysql_num_rows($res_sql) != 0)
                                    {
                                            while ($row = mysql_fetch_array($res_sql))
                                            {
                                                    $id_parent = $row[0];
                                                    $name_parent = $row["parent_category_name"];
                                     print "<option value=" . $id_parent;
                                     if ($id_parent == $cat) {
                                       print " selected";
                                     }
                                     print ">" . $name_parent ."</option>";
                                    }
                             }
                                    ?>
                                     </select>
                    </td>
                      </tr>
     
     
                            <tr>
                                    <td class="labelCell3">Category Entered *</td>
                                    <td class="fieldCell3"><input name="category" type="text" id="category" size="46" maxlength="64" value="" readonly="true"/><\
    /td>
                            </tr>

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    je ne vois rien dans ton code qui justifie cette différence

    Le seul truc (non visible ici) qui pourrait déstabiliser IE, c'est dans le cas où ces objets font partie d'un <form> : si la structure du form et de la table sont mal imbriquées, tu peux avoir ce genre d'anomalie ...
    Pour ménager IE6 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form>
    ...
    <table>
    ...
    </table>
    ...
    </form>
    A toi de voir si ça peut être ce genre de chose ...

    A+

Discussions similaires

  1. [AJAX] HTTPRequest qui ne passe pas
    Par Cronycs dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 23/05/2007, 14h39
  2. [AJAX] asp xml httprequest
    Par Alex35 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/05/2007, 11h55
  3. lenteur AJAX HTTPREQUEST
    Par chamadi dans le forum IIS
    Réponses: 1
    Dernier message: 16/09/2006, 19h52
  4. [AJAX] Concaténer 2 objets HttpRequest
    Par Braz dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/06/2006, 13h45
  5. [AJAX]probleme HTTPRequest
    Par GTJuanpablo dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 12/02/2006, 11h24

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