[ JavaScript ] Mozilla

bonjour

voici 2 petits scripts:
Script 1:
Le changement s'effectuera lorsque la page principale reprendra le focus.

la page principale:
<html>
<head>
<script>
function changeColor() {
document.getElementById('tab').style.backgroundColor = myform.couleur1.value;
}
</script>
</head>
<body onfocus="changeColor();">
<form name="myform">
<input type="hidden" name="couleur1" size=12 maxlength=12 value="">
</form>
<table id="tab" border=1 bgcolor="green" color="black" width=80%>
<tr><td>dfhddgjdgjdg</td></tr>
</table>
<script>
window.open('popup1.htm','','width=200,height=200);
</script>
</body>
</html>

la popup:
<html>
<body>
<script>
window.opener.document.forms['myform'].couleur1.value="red";
</script>
popup<p>
<a href="#" onClick="window.close();">Fermer</a>
</body>
</html>

Script 2:
Le changement s'effectuera lorsque la popup est chargée.
Le champ caché, le onfocus du body et la fonction changeColor() peuvent etre supprimes de la page principale.

<html>
<body>
<table id="tab" border=1 bgcolor="green" color="black" width=80%>
<tr><td>dfhddgjdgjdg</td></tr>
</table>
<script>
window.open('popup1.htm','','width=200,height=200);
</script>
</body>
</html>

la popup:
<html>
<body>
<script>
window.opener.document.getElementById('tab').style.backgroundColor = "red";
</script>
popup<p>
<a href="#" onClick="window.close();">Fermer</a>
</body>
</html>

Je ne comprends pas pourquoi cela ne fonctionne pas sur mozilla ? qqun peu tester et me dire SVP ?
--
dure dure

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. il semblerait que mozilla n'aime pas onFocus dans le body

    comment faire la meme chose pour que ça passe sur mozilla ?

    meme sur des champs text mozilla ne veu pas de onFocus

    merci
    1. Manque une apostrophe dans la fonction window.open.

      Ne jamais oublié document
      document.myform.couleur1.value

      Bon courage
      1. ok merci, bien que javais deja corriger cette oublie

        lexemple simple marche sur mozilla

        malheureusement jai plus complexe a gérer, dans le pop up il y a un .js affichant un selecteur de couleur

        jai reussi a comprendre ou la couleur etait envoyer :

        window.opener.document.modifCouleur.couleur1.value="red";

        window.close();

        -------------------
        dans ma page index.html

        function changeColor() {

        alert("yoy");
        alert(modifCouleur.couleur1.value);
        //change les td de couleur fond1
        document.getElementById('fond1').style.backgroundColor = modifCouleur.couleur1.value;
        }

        et puis un champ txt, qui onFocus apel changeColor mais cela ne fonctionne que sous IE encore et tjs :(
        1. var fenetre = null;

          function choisirCouleur(formulaire, nom_champ) {
          // ouvre une fenêtre afin de sélectionner une couleur, qui sera transmise au champ dont le nom est en argument
          // 2 arguments : le formulaire (this.form dans l'appel de la fonction) et le nom du champ
          // pour éviter d'ouvrir plusieurs fenêtres simultanées
          if (fenetre && !fenetre.closed) fenetre.close();
          // passe 2 paramètres à couleurs.html : le nom du formulaire et celui du champ
          fenetre = window.open("couleurs.html?" + formulaire.name + "&" + nom_champ, "fenCouleurs", "width=400,height=270,resizable=1");
          if (!fenetre.opener) fenetre.opener = self;
          }

          et ça qui lance la pop up
          1. ok c bon jma suis demerder en fesant des trace partout
            hhum

            merci