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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript] - IE6 : Impossible d'activer le contrôle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Javascript] - IE6 : Impossible d'activer le contrôle

n°1812741
endozen
Endorsen
Posté le 16-11-2008 à 16:36:11  profilanswer
 

Bonjour à tous,
 
je suis assez étonné par le peu de solution proposée sur google pour mon problème. J'ai développé un calculateur en php/jscript et forcément...il marche nickel
sur IE7 et Firefox 2 et +, mais comme 20% des internautes sont encore sous IE6...il faut que je pense aussi à eux.
 
Alors voilà mon problème :
 
Ligne 341
Car 11
Erreur Impossible d'activer le contrôle car celui-ci est soit invisible, soit inactif, soit d'un type ne reconnaissant pas cette fonctionnalité.
 
et voici la section incriminée :
 

Code :
  1. <script type="text/javascript">
  2. //<![CDATA[
  3.       nbpages = 7; //nombre d'onglets
  4.       function page(npage) {
  5.         liste_onglets = document.getElementById("onglets" ).getElementsByTagName("li" );
  6.  for (i=0; i<liste_onglets.length; i++) {
  7.    liste_onglets[i].className = "";
  8.         }
  9.         document.getElementById("onglet" + npage).className = "active";
  10.         for (i=1; i<=nbpages; i++) {
  11.           document.getElementById("contenu" + i).className = "nonactive";
  12.     }
  13.         page_elt = document.getElementById("contenu" + npage);
  14.         page_elt.className = "active";
  15.         if (page_elt.getElementsByTagName("input" )[0] != null) {
  16.           page_elt.getElementsByTagName("input" )[0].focus();
  17.           page_elt.getElementsByTagName("input" )[0].select();
  18.         }
  19.       }
  20.   //]]>  
  21.     </script>


 
Gros somodo, ce script gère l'affichage de conteneur DIV (sorte de menu).
 
Merci pour votre aide car là je suis bel et bien bloqué. :??:

mood
Publicité
Posté le 16-11-2008 à 16:36:11  profilanswer
 

n°1812743
endozen
Endorsen
Posté le 16-11-2008 à 16:37:38  profilanswer
 

PS : la ligne 341 correspond à la ligne 18 sur le post précédent.


---------------
EOS 5D mk II | 17-40 f/4 L USM | 50 f/1.4 USM | 135 f/2 L USM
n°1812794
mIRROR
Chevreuillobolchévik
Posté le 16-11-2008 à 20:07:09  profilanswer
 

je pense plutot que c ets le bloc en ligne 20 qui déclenche l erreur
ie essaie d attacher un evenement sur un objet qui n existe pas ou qui ne peut pas recevoir ce type de methode
essaie dans un premier temps
if (page_elt.getElementsByTagName("input" )[0])
qui devrait marcher tout aussi bien


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1812828
endozen
Endorsen
Posté le 16-11-2008 à 22:23:09  profilanswer
 

mIRROR a écrit :

je pense plutot que c ets le bloc en ligne 20 qui déclenche l erreur
ie essaie d attacher un evenement sur un objet qui n existe pas ou qui ne peut pas recevoir ce type de methode
essaie dans un premier temps
if (page_elt.getElementsByTagName("input" )[0])
qui devrait marcher tout aussi bien


 
Je te remercie, je test ça demain, et te donnerai des nouvelles.
 
Salut  :hello:

n°1812913
endozen
Endorsen
Posté le 17-11-2008 à 10:36:08  profilanswer
 

ça ne marche pas :(

n°1812921
mIRROR
Chevreuillobolchévik
Posté le 17-11-2008 à 10:59:48  profilanswer
 

bon bah commence par sortir ie6 completement de la boucle, on verra bien si l erreur est vraiment là

Code :
  1. if (page_elt.getElementsByTagName("input" )[0] && window.XMLHttpRequest)


 


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1812953
endozen
Endorsen
Posté le 17-11-2008 à 12:01:20  profilanswer
 

idem. Quand je place un alert(page_elt.getElementsByTagName("input" )[0]) avant la condition, sur IE6 j'ai [Object] et sur ff j'ai [Object HTMLInputElement].
 
_________________________________
 
Sinon, j'ai un autre petit problème sur un contrôle de saisie de mon formulaire (toujours avec IE6 alors qu'IE7 et FF ok).
 

Code :
  1. function valider(champtest){
  2. var nombre = document.getElementById(champtest).value;
  3.         if(!isNaN(nombre))
  4.  {
  5.  alert('ok');
  6.  }
  7.         else
  8.                 {
  9.   alert("La valeur saisie n'est pas un nombre !" );
  10.   document.getElementById(champtest).value=0;
  11.   }
  12.         return false;
  13.     }


 
exemple de champ testé :

Code :
  1. <input name="param2x15" id="param2x15" value="<?= variable("param2x15" ); ?>" size="8" onchange="valider('param2x17'); return false;"/>


 
le symptôme : sous IE6, je n'arrive plus à aller sur un autre champ, le message d'alerte revient à chaque fois que je clique ailleurs, alors que ça fonctionne sous IE7 et Firefox.
 
Merci encore, j'ai un peu honte de vous demander autant d'aide.


Message édité par endozen le 17-11-2008 à 12:03:14

---------------
EOS 5D mk II | 17-40 f/4 L USM | 50 f/1.4 USM | 135 f/2 L USM
n°1812968
mIRROR
Chevreuillobolchévik
Posté le 17-11-2008 à 12:27:14  profilanswer
 

pour la première partie ca veut dire que l erreur ne vient pas du code que tu as montré
utilise un vrai debugger
http://blogs.msdn.com/ie/archive/2 [...] 47912.aspx
 
sinon onchange c est pour les select


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1812977
endozen
Endorsen
Posté le 17-11-2008 à 12:39:30  profilanswer
 

je dois utiliser quoi alors pour les champs ?


---------------
EOS 5D mk II | 17-40 f/4 L USM | 50 f/1.4 USM | 135 f/2 L USM
n°1812978
mIRROR
Chevreuillobolchévik
Posté le 17-11-2008 à 12:45:06  profilanswer
 

tu les vérifie au submit


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
mood
Publicité
Posté le 17-11-2008 à 12:45:06  profilanswer
 

n°1812997
endozen
Endorsen
Posté le 17-11-2008 à 13:58:31  profilanswer
 

J'aimerai que la vérification se fasse à chaque saisie, c'est pas possible ?


---------------
EOS 5D mk II | 17-40 f/4 L USM | 50 f/1.4 USM | 135 f/2 L USM
n°1813002
mIRROR
Chevreuillobolchévik
Posté le 17-11-2008 à 14:37:03  profilanswer
 

essaie plutot avec onkeypress


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1813637
endozen
Endorsen
Posté le 18-11-2008 à 21:32:20  profilanswer
 

merci.


---------------
EOS 5D mk II | 17-40 f/4 L USM | 50 f/1.4 USM | 135 f/2 L USM
n°1813976
endozen
Endorsen
Posté le 19-11-2008 à 18:49:38  profilanswer
 


 
en fait, cela ne marche point.
 
champ testé :  
 

Code :
  1. <input name="param2x15" id="param2x15" value="<?= variable("param2x15" ); ?>" size="8"  onchange="valider('param2x15'); return false;"/>


 
js :
 

Code :
  1. function valider(champtest){
  2.         var nombre = document.getElementById(champtest).value;
  3.         if(!isNaN(nombre))
  4.  {
  5.  document.getElementById(champtest).value=document.getElementById(champtest).value;
  6.  }
  7.         else
  8.          {
  9.   alert("La valeur saisie n'est pas un nombre !" );
  10.   document.getElementById(champtest).value=0;
  11.   }
  12.         return false;
  13.     }


 
ca marche avec tous les navigateurs sauf que sur IE je dois appuyer deux fois sur TAB pour passer au champ suivant. Avec onkeypress, c'est pire, je ne peux plus rien écrire du tout. Une iday nouvelle ?


Message édité par endozen le 19-11-2008 à 18:54:39

---------------
EOS 5D mk II | 17-40 f/4 L USM | 50 f/1.4 USM | 135 f/2 L USM
n°1813999
mIRROR
Chevreuillobolchévik
Posté le 19-11-2008 à 19:59:49  profilanswer
 

ok on s est mal compris
tu veux lancer la validation quand tu sors du champ et pas quand on le modifie
 

Code :
  1. <input type="text" name="param2x15" id="param2x15" value="<?= variable("param2x15" ); ?>" size="8"  onchange="valider(this.value,this.id);"/>


 

Code :
  1. function valider(val,id){
  2.     if(isNaN(val)) {
  3.         alert("La valeur saisie n'est pas un nombre !" );
  4.         document.getElementById(id).value=0;
  5.     }
  6. }


 
au pire tu peux essayer aussi onblur
sinon t en es ou sur ton premier probleme ?


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1814170
endozen
Endorsen
Posté le 20-11-2008 à 10:09:27  profilanswer
 

great, ca marche nickel avec la propriété onblur.
 
Pour le premier problème, je n'ai pas avancé (je n'ai pas eu le temps de lancer le debugger).
 
Amicalement.


---------------
EOS 5D mk II | 17-40 f/4 L USM | 50 f/1.4 USM | 135 f/2 L USM

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript] - IE6 : Impossible d'activer le contrôle

 

Sujets relatifs
Supprimer une ligne d'un tableau en javascriptPetite loupe dans case d'un tableau no javascript
Problème IE6, et oui, encore 15% des internautes !!Pb avec boucles imbriquées pour controle d'un formulaire
afficher div en javascript après validation formulaire non validée[réglé]Problème affichage Xhtml avec IE6 et 7
[Résolu] FERMER CE TOPIC VITE !!!Supprimer les balises HTML d'une string en javascript
Recuperer variable d'un select multiple via javascriptActiver un checkbox
Plus de sujets relatifs à : [Javascript] - IE6 : Impossible d'activer le contrôle


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