Ptit problème javascript ...

7 réponses
AuteurMessage

flush |
Modérateur

Photo de flush

Inscrit le : 09/05/2005

# Le 06/09/2005 à 15:46

Voilà j'ai une page contenant un formulaire qui fait ouvrir un popup sur un lien.

(jusque là pas de porblème).

Dans ce popup je fesais :

window.opener.document.forms["formulaire"]; ?>"].elements["couleur"].value = "#" +new_color;

Pour mettre a jour un champ input de ma page appelante.

Mais problème, j'ai fais de grosses modification, et je ne peux plus utiliser cette méthode (a partir du nom du champ input ...)

J'ai donc essayé :

window.opener.document.getElementById("couleur").value = "#" +new_color;


Cela ne marche pas ...

mais cela marche :

document.getElementById("test").value = "#" +new_color;

dans le cas où je met un champ input de nom "test" dans mon popup.

Quelqu'un a une idée ? (mon ami google ne pas trop aidé sur ce coup ...)

@+ Jean-Philippe

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 06/09/2005 à 16:14

Salut

C'est quoi l'erreur ? Un pb de droit d'acces peut etre ?
le principe est alors de faire une fonction dans ta page qui modifie le champ et d'appeler la fonction par :
window.opener.MaFonction(color)

mais je pense que ce n'est pas le pb mais plutot :

getElementById("test") ou getElementById("couleur")

Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0fOuvrir dans une nouvelle fenetre

Julgates | Julien
Administrateur

Photo de Julgates

Inscrit le : 09/03/2005

# Le 06/09/2005 à 16:17

perso j'ai ça :
opener.document.getElementById('bla').value = "#" +new_color;

ça marche

Shopping Time NetworkOuvrir dans une nouvelle fenetre - Founder / CTO

flush | Jean-Philippe
Modérateur

Photo de flush

Inscrit le : 09/05/2005

# Le 06/09/2005 à 17:03

Julgates > tu as bien de la chance ! Chez moi cela ne marche pas ... (A noter que ma page qui ouvre mon popup est elle même un popup ouverte par une page ... ptet là le bug)


Pour DevTribu :

Voilà l'erreur :

Erreur : document.getElementById("test") has no properties


Code :
function miseAJour(couleur)
{
document.getElementById('couleur1').value=couleur;
}


<input name="xxxxxx" type="text" id="couleur1" value="" />

(Message édité le 06-09-2005 à 17h10 par flush)

@+ Jean-Philippe

JeromeF | Jérôme
Membre

 

Inscrit le : 10/05/2005

# Le 06/09/2005 à 17:31

et si tu fais
window.opener.getElementById("couleur").value = "#" +new_color;

ca marche pas ?

Rano | Jean
Modérateur

Photo de Rano

Inscrit le : 13/04/2005

# Le 06/09/2005 à 17:47

flush a dit :
Julgates > tu as bien de la chance ! Chez moi cela ne marche pas ... (A noter que ma page qui ouvre mon popup est elle même un popup ouverte par une page ... ptet là le bug)


Ba déjà, le opener de la deuxième popup c'est la première popup. Donc si le champ est dans la première popup ca peut etre bon.

Encore faut-il que les deux pages soit sur le meme nom de domaine...

Chambres d'hote tavelOuvrir dans une nouvelle fenetre
Séjours en provenceOuvrir dans une nouvelle fenetre
Forum mariageOuvrir dans une nouvelle fenetre

Julgates | Julien
Administrateur

Photo de Julgates

Inscrit le : 09/03/2005

# Le 06/09/2005 à 17:47

JeromeF a dit :
et si tu fais
window.opener.getElementById("couleur").value = "#" +new_color;

ca marche pas ?


bah il dit que non...

Shopping Time NetworkOuvrir dans une nouvelle fenetre - Founder / CTO

flush | Jean-Philippe
Modérateur

Photo de flush

Inscrit le : 09/05/2005

# Le 06/09/2005 à 20:38

C'est bon j'ai réussi avec un appel de méthode sur mon 1er popup ... bizzare comme truc ^^

Lol merci pour votre aide ;)

@+ Jean-Philippe

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 23/11/2024 20:52:34 | Généré en 5.74ms | Contacts | Mentions légales |