FireFox n'exécute pas le setAttribute

Résolu
SuperBouly Messages postés 410 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 8 mai 2010 - 23 juil. 2006 à 21:31
SuperBouly Messages postés 410 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 8 mai 2010 - 26 juil. 2006 à 07:19
Bonjour
Voici une page qui n'exécute pas les javascripts sous firefox et est impeccable sous IE6 !



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 

Les scripts sont destinés à afficher le contenu sélectionné d'une liste dans un textbox d'ID ' dat '


La liste apparaît quand la textbox reçoit le focus, Quand on sélectionne un élément de liste, le contenu est recopié dans la textbox, puis la liste disparaît quand la textbox perd le focus.



 





 




Sous Firefox, la liste apparait,  mais entièrement grisée !!



 




Si j'enlève style ="visibility : hidden;" des attributs de la balise sélect, la liste apparait normale mais la valeur ne se transfère pas dans la textbox. Quelqu'un comprent qqch à ça ?


Les fonctions semblent pourtant bien simples ! 



 




Merci d'avance



 




Le code de page est:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv= "Content-Type" content="text/html; charset=iso-8859-1">
<title>Document </title>
<script  language="javascript" type="text/javascript">
<!--
function prendvaleur(list,txt)
{
var mot = document.getElementById(list).getAttribute('value');
document.getElementById(txt).setAttribute('value', mot);
}


function changelist(list,txt)
{
prendvaleur(list,txt);
document.getElementById(list).style.visibility='hidden';
}


function affichelist(list)
{
document.getElementById(list).style.visibility='visible';
}
function cachelist(list)
{
document.getElementById(list).style.visibility='hidden';
}
  //-->
</script>


</head>




 

          <select name ="select"   id="propDat" onchange="javascript:changelist('propDat','dat')" style="visibility:hidden; "  >
     <option value=""" selected > </option>
            <option value="01/02/2006" >01 fev 2006</option>
            <option value="03/02/2006">03 fev 2006</option>   
          </select>



</html>

3 réponses

SuperBouly Messages postés 410 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 8 mai 2010
26 juil. 2006 à 07:19
Merci pour vos réponses.

onBlur, viré;
"setAttribute('value', mot) "remplacé par ".value=  mot;"

".getAttribute('value');"remplacé par ".value"  

et tout marche !
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 juil. 2006 à 09:04
bonjour,

   onblur n'est pas géré de la même manière...
   IE : quand on clique sur une ligne option
   FF : quand on clique sur le select pour
      pouvoir choisir la ligne option.
qui a raison, on s'en fiche mais :
soit traiter "autrement"
soit mettre un size=nbr lignes select dans la balise <select>
soit ... sûr qu'il y a d'autres possibilités 
      mais ça ne me vient pas immédiatement.

il suffisait de mettre quelques alert pour voir ce qui se passait.

remarques :
on???=javascript:fonction.... est un pléonasme
on???=fonction.... suffit
<script  language="javascript" type="text/javascript">
language "déprécié"
<script  type="text/javascript"> suffit

cordialement   Bul   
Site
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
24 juil. 2006 à 18:09
B
onjour...

Pour la récupération des valeurs je pense qu'il est préférable d'utiliser la fonction comme si dessous

function prendvaleur(list,txt){
var mot = document.getElementById(list).value;
document.getElementById(txt).value=  mot;
}
...sans passer par getAttribute...

Comme le dit The BULTEZ le OnBlur !!!!pb!!!!  supprime le tout simplement

c'est ta fonction function changelist(list,txt) qui se charge de masqer le <SELECT>




;0)
0
Rejoignez-nous