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 :

[ JS / IE ] Attribut d'un input et getElementById


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 87
    Par défaut [ JS / IE ] Attribut d'un input et getElementById
    Bonjour,

    Voilà, cela peut sembler simple, mais depuis 2 jours, je m'arrache les cheveux sur quelque chose de normalement pas bien compliqué...sauf que là, PB !!!

    Je souhaiterai ajouter dynamiquement des <onKeyUp> à mes inputs, et ce pour IE (que pour IE même, je ne me pose pas plus de question ici). Après des heures sur mon projet à rien voir avancer, j'ai créé une nouvelle page html pour faire ça de façon simple, ça ne marche toujours pas et j'ai ça :

    Quelques remarques avant :
    1 / Le fait de mettre le code javascript (en fin de page ici) dans la balise <head> me renvoi NULL pour les getElementById...déjà je ne comprends pas ça...c'est l'inverse de la logique de IE alors que je base mes tests que dessus; et idem en passant par un fichier .js...

    2 / Impossible de jouer sur les evenements des inputs...j'ai essayé de plusieurs façon mais jamais avec succès.

    Merci de votre aide, car je commence à rien y comprendre, surtout pour faire quelque chose de simple.
    (Et après me reste à inclure ça dans le codeBehind de mon projet .net ..je sens que les choses bizzares seront encore là )

    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
     
    <html>
    <head>
     
    </head>
     
    <body onload="">
     
        <input type="text" id="idName" name="Name" value="test"     />
        <input type="text" id="idName2" name="Name2" value="test2"  />
     
    </body>
    <script language="javascript">
    <!--
      window.onload = Init('param');
     
      function Init(param)
      {
      alert(document.getElementById('idName'));
         if (document.getElementById)
        {
     
          var obj = document.getElementById('idName');
          //obj.setAttribute("readonly","readonly"); // NS
          obj.readOnly = true; //IE
     
          obj = document.getElementById('idName2');
          obj.onKeyUp = function() { alert("toto"); }
     
     
        }
     
      };
     
     
    //-->
    </script>
    </html>

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    Javascript est sensible à la casse !!
    et readOnly ne prend pas comme valeur true ou false.
    Code html : 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
    <html>
    <head>
    <script language="javascript">
    <!--
      function Init(param)
      {
         //alert(document.getElementById('idName'));
         if (document.getElementById)
        {
      
          var obj = document.getElementById('idName');
          //obj.setAttribute("readonly","readonly"); // NS
          
          obj.readOnly = "readonly"; //IE et autres navigateurs
          
          obj = document.getElementById('idName2');
          obj.onkeyup= function() { alert("toto"); }
     
     
        }
      
      };
     
        
    //-->
    </script> 
    </head>
     
    <body onload="Init('param')">
     
        <input type="text" id="idName" name="Name" value="test"     />
        <input type="text" id="idName2" name="Name2" value="test2"  />
     
    </body>
    
    </html>
    >> idName est en lecture seule et idName2 réagit sur onkeyup

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 87
    Par défaut
    Oh puré !
    Merci bien de ta part

    Puré, 2 journées de galère (enfin pas que sur ça lol) à cause des majuscules à onKeyUp (et qui ont des raction bizzare en plus)...
    En tout cas, merci, je ne cloture pas encore ce sujet jusqu'à demain, je ferai mes tests.

    PS :
    Le fait de mettre le window.onLoad = Init('param'); ne fait plus fonctionner tout ça.

    Et en fait, à un moment, lors de mes modif', ton script ne fonctionnait plus...j'ai fermé la page, je l'ai rechargé, et là c'était bon (et avec mes modif'); j'ai l'impression que la sécurité des scripts intégrée à IE (barre jaune au dessus) joue des tours...

Discussions similaires

  1. remplir un champ input sans getelementbyid
    Par pazgal dans le forum VBScript
    Réponses: 8
    Dernier message: 26/08/2010, 17h23
  2. [DOM] Passage de valeur dans input via getElementById().value
    Par Invité dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/07/2008, 21h47
  3. Attribut value de input type=image sous IE
    Par Oluha dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 19/02/2007, 17h10
  4. forcer l'attribut maxlength d'un input text
    Par psychoBob dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/02/2006, 11h39
  5. Attribut "readonly" d'un INPUT avec Struts
    Par leywos dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/10/2005, 16h20

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