Probleme javascript avec safari

Probleme javascript avec safari - HTML/CSS - Programmation

Marsh Posté le 11-05-2005 à 16:19:12    

Bonjour à tous, j'ai un probleme avec mon script (et oui sinon je serai pas la!  ;) ).  
 
En fait , j'ai un formulaire, avec toutes sortes d'input.
Lorsque je coche certaines checkbox, il doit y avoir une liste déroulante qui apparait a coté de la checkbox coché.  
 
Seul petit probleme, ma fonction javascript ne fonctionne pas sous safari, alors que sur Firefox, IE pour pc, IE pour Mac c'est opérationnel, quelqu'un pourrait me dire ce que je dois faire de spécial pour safari.
 
Voici mon code javascript :  
 

Code :
  1. // affiche les options nObjet1 associées aux checkbox boxname
  2. function AfficheBox(nObjet1,boxname)
  3. {
  4. if(ie4)
  5.   { // Internet explorer
  6.   var inputie4 = document.getElementsByTagName("input" )
  7.   if(inputie4[boxname].checked == true)
  8.     eval(nObjet1).style.visibility = (eval(nObjet1).style.visibility=='visible'?'hidden':'visible');
  9.   else
  10.     eval(nObjet1).style.visibility = (eval(nObjet1).style.visibility=='visible'?'hidden':'hidden');
  11.   }
  12.   else if(ns4)
  13.   { // Netscape 4.x
  14.   var inputns4 = document.getElementByTagName("input" )
  15.   if(inputns4[boxname].checked == true)
  16.     document.eval(nObjet1).style.visibility = (document.eval(nObjet1).style.visibility=='show'?'hidden':'show');
  17.   else
  18.    document.eval(nObjet1).visibility = (document.eval(nObjet1).visibility=='show'?'hidden':'hidden');
  19.   }
  20.    else if(ns6)
  21.   { // Netscape 6 (mozilla)
  22.    var inputns6 = document.getElementsByTagName("input" )
  23.    var divns6 = document.getElementsByTagName("div" )
  24.    if(inputns6[boxname].checked == true)
  25.      divns6[nObjet1].style.visibility = (divns6[nObjet1].style.visibility=='visible'?'hidden':'visible');
  26.    else
  27.       divns6[nObjet1].style.visibility = (divns6[nObjet1].style.visibility=='visible'?'hidden':'hidden');
  28.   }
  29. }//fin fonction affiche


 
merci de votre aide

Reply

Marsh Posté le 11-05-2005 à 16:19:12   

Reply

Marsh Posté le 11-05-2005 à 17:30:29    

parce que tu fais des vieilles détection de navigateurs de merde au lieu de faire de l'object detection et que ton script pourri ne prend pas en compte Safari (c'était trop dur de le lire et de voir qu'il y avait que 3 navigateurs?)
 
ce script est une merde, c'est tout [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 12-05-2005 à 09:28:53    

Oki merci de ton aide, ca va me faire avancée ce que tu m'as dit.  
 
Si tu pouvais m'expliquer ce ue c'est la détection objet ca serait ppls gentil!!!
 
Merci

Reply

Marsh Posté le 12-05-2005 à 09:36:08    

Les machins genre 'if(ie4)' Ils est défini comment le 'ie4' ? C'est justement ce genre de chose qui bloque ton script sur d'autres navigateurs ;)

Reply

Marsh Posté le 12-05-2005 à 10:03:03    

chtieu62120 a écrit :

Oki merci de ton aide, ca va me faire avancée ce que tu m'as dit.  
 
Si tu pouvais m'expliquer ce ue c'est la détection objet ca serait ppls gentil!!!
 
Merci


http://www.quirksmode.org


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 12-05-2005 à 10:43:57    

FlorentG a écrit :

Les machins genre 'if(ie4)' Ils est défini comment le 'ie4' ? C'est justement ce genre de chose qui bloque ton script sur d'autres navigateurs ;)


 
 
 
Il est défini comme suit :  
 

Code :
  1. var ns4=document.layers
  2. var ie4=document.all
  3. var ns6=document.getElementById && !document.all


 
 
Mais au final j'ai réussi, à faire fonctionner le js sous safari, et c'est ce qui compte, puisque le site en cours de dev est destiné aux utilisateurs de mac.
 
Merci pour vos réponses
 
 :jap:  

Reply

Marsh Posté le 12-05-2005 à 10:49:27    

chtieu62120 a écrit :

Il est défini comme suit :  
 

Code :
  1. var ns4=document.layers
  2. var ie4=document.all
  3. var ns6=document.getElementById && !document.all



C'est de la détection de navigateurs à la con quoi [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 12-05-2005 à 12:17:56    

Et puis de toutes manières, NS4 et IE4 suxor et pas qu'un peu... :o


---------------
Expert en expertises
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed