Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 02/07/2009, 15h14   #1
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 985
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 985
Points : 258
Points : 258
Par défaut Une astuce pour un window.close ?

Bonjour à tous,

Supposons un très long formulaire.
Au milieu de ce formulaire, un lien ouvre une popup qui permet de choisir une image par un bouton radio.

Le clic sur ce bouton a 2 fonctions :
- window.close()
- Un window.opener qui appelle une fonction de la page parent et affiche l'image qui a été choisie dans un div.

Jusqu'à là, tout va bien.

L'ennui, c'est que lorsque la popup se ferme, le navigateur "saute" et remonte en tête de page alors que je voudrais que la page parent reste au même niveau que le lien de la popup. (C'est un détail, mais le formulaire étant très long, ce n'est pas très pratique...)

J'ai essayé avec une ancre...
Pas de succès.
Quelqu'un a une idée ?
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 15h29   #2
Expert Confirmé
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 500
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 500
Points : 3 953
Points : 3 953
A la rigueur, on peut imaginer une solution "à la main" en stockant la valeur du scroll de la fenêtre mère et forcer à nouveau cette valeur après fermeture de la popup, c'est-à-dire quand la fenêtre principale récupère le focus...
__________________
Pour ceux qui s'ennuient ou qui ont envie de se changer les idées :
>>> beta-test : générateur de phrases aléatoires (+ le générateur de sondages !)
>>> et pour les amateurs de labyrinthes...
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 15h45   #3
Expert Confirmé
 
Avatar de le_chomeur
 
Développeur informatique
Inscription : février 2006
Messages : 3 524
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 3 524
Points : 3 965
Points : 3 965
et avec une ancre ??
__________________
est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
le_chomeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 15h57   #4
Expert Confirmé
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 500
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 500
Points : 3 953
Points : 3 953
Citation:
Envoyé par le_chomeur Voir le message
et avec une ancre ??
Citation:
Envoyé par renaud26
J'ai essayé avec une ancre...
@le chomeur : mais je t'accorde que c'est bizarre : j'aurais moi aussi essayé ça dans un premier temps...
@renaud26 : On peut voir comment tu as implémenté le mécanisme ? (c'est peut-être une erreur de code et pas de raisonnement ^^)
__________________
Pour ceux qui s'ennuient ou qui ont envie de se changer les idées :
>>> beta-test : générateur de phrases aléatoires (+ le générateur de sondages !)
>>> et pour les amateurs de labyrinthes...
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 15h58   #5
Expert Confirmé
 
Avatar de le_chomeur
 
Développeur informatique
Inscription : février 2006
Messages : 3 524
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 3 524
Points : 3 965
Points : 3 965
on dirait que le code est posté ( page rafraichie ... mais même avec un ancre ça devrait marcher )
__________________
est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
le_chomeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 16h00   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
sinon juste eviter le popup en restant sur la page mère avec un truc comme prototype window ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 16h17   #7
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 985
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 985
Points : 258
Points : 258
Merci à vous de vous pencher sur le truc.

Voici mon code :
code popup
Code :
1
2
3
4
5
6
7
 
function popupcentre(adresse, nomFenetre, largeur, hauteur, scroll) 
  {
  var largeurEcran = (screen.width - largeur) / 2;
  var hauteurEcran = (screen.height - hauteur) / 2;
  window.open(adresse, nomFenetre, 'height=' + hauteur + ', width=' + largeur + ', top=' + hauteurEcran + ', left=' + largeurEcran + ', scrollbars=' + scroll + ', resizable')
  }
lien ouverture popup
Code :
1
2
 
<a href="#" onClick="popupcentre('images.php','images','850','800','yes')">Cliquez ici pour choisir une image</a>
Le code de fermeture de la popup (dans la popup, donc)
Code :
1
2
3
4
5
 
<img src=' ".$chemin."/".$imageName." ';
<input type='radio' onClick=\"window.close()\" 
onChange=\"window.opener.afficherImage(this.value')\" 
value='$imageName'>;
Et la fonction afficherImage de la page parent est un simple innerHTML qui affiche l'image dans un DIV...

Elle s'affiche très bien, d'ailleurs...si on se retape tout l'ascenseur pour la voir...

Une ancre... ok, mais comment "diriger" window.clode vers elle ?
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 16h42   #8
Expert Confirmé
 
Avatar de le_chomeur
 
Développeur informatique
Inscription : février 2006
Messages : 3 524
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 3 524
Points : 3 965
Points : 3 965
te renvois en haut de la page

il te faut mettre un lien a l'endroit ou tu veux rester ( l'ancre ) et mettre ton appel :

Code :
<a href="#monancre" ...
__________________
est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
le_chomeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 16h54   #9
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 985
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 985
Points : 258
Points : 258
Et bien voilà une chose que j'ignorais.
Je te (vous) remercie beaucoup.

Bonne fin de journée.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 17h12   #10
Expert Confirmé
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 500
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 500
Points : 3 953
Points : 3 953
Citation:
Envoyé par RomainVALERI Voir le message
(c'est peut-être une erreur de code et pas de raisonnement ^^)
*sifflotte*
__________________
Pour ceux qui s'ennuient ou qui ont envie de se changer les idées :
>>> beta-test : générateur de phrases aléatoires (+ le générateur de sondages !)
>>> et pour les amateurs de labyrinthes...
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 17h27   #11
Rédacteur/Modérateur
 
Avatar de Macmillenium
 
Homme
Front-end developer
Inscription : mars 2008
Messages : 2 280
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Front-end developer
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mars 2008
Messages : 2 280
Points : 3 376
Points : 3 376
Pas besoin d'ancre :

Code :
1
2
 
<a href="javascript:void(0)" onClick="popupcentre('images.php','images','850','800','yes')">Cliquez ici pour choisir une image</a>
Code :
1
2
 
<a href="javascript:popupcentre('images.php','images','850','800','yes')">Cliquez ici pour choisir une image</a>
Code :
1
2
 
<a href="javascript:popupcentre('images.php','images','850','800','yes')" onclick="return false;">Cliquez ici pour choisir une image</a>
Je recommande la 1ére solution
__________________
Je ne réponds pas aux questions techniques par MP.
Macmillenium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 08h38   #12
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
aussi sauf qu'il manque un return false...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 09h28   #13
Expert Confirmé
 
Avatar de le_chomeur
 
Développeur informatique
Inscription : février 2006
Messages : 3 524
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 3 524
Points : 3 965
Points : 3 965
Code :
<a href="#" onclick="lafontion;return false;" ...
la propriété href ne doit pas être utiliser pour appeler du javascript
cf : norme w3c ....
__________________
est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
le_chomeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h38   #14
Rédacteur/Modérateur
 
Avatar de Macmillenium
 
Homme
Front-end developer
Inscription : mars 2008
Messages : 2 280
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Front-end developer
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mars 2008
Messages : 2 280
Points : 3 376
Points : 3 376
La raison pour laquelle on recommande :

Code :
1
2
<a href="javascript:void(0)" onClick="popupcentre('images.php','images','850','800','yes');return false;">Cliquez ici pour choisir une image</a>
Le WCAG n'interdit pas cette méthode
__________________
Je ne réponds pas aux questions techniques par MP.
Macmillenium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h49   #15
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
le javascript dans le href ne sert à rien Mac !
il ne sera jamais atteint puisque le href est inhibé par le return false

mieux vaut utiliser le href pour un chemin pour palier au javascript désactivé ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h50   #16
Expert Confirmé
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 500
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 500
Points : 3 953
Points : 3 953
Citation:
Envoyé par Macmillenium Voir le message
Le WCAG n'interdit pas cette méthode
Ah tiens ? ^^
Je m'interdisais cette syntaxe au nom du principe de séparation contenus/présentation/comportements, car je pensais que c'était considéré comme une intrusion js...
Et le WCAG, comment dire heu ... je vais me renseigner ( "mais qu'est-ce que c'est que ce sigle..." )

edit : ok ce sont les principes et standards de l'accessibilité sur le web ^^ je connaissais le concept mais pas le terme

edit n°2 @macmillenium : je n'aurais pas osé te demander de googler pour moi mais merci de l'intention ! ^^
__________________
Pour ceux qui s'ennuient ou qui ont envie de se changer les idées :
>>> beta-test : générateur de phrases aléatoires (+ le générateur de sondages !)
>>> et pour les amateurs de labyrinthes...

Dernière modification par RomainVALERI ; 03/07/2009 à 12h59.
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h50   #17
Rédacteur/Modérateur
 
Avatar de Macmillenium
 
Homme
Front-end developer
Inscription : mars 2008
Messages : 2 280
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Front-end developer
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mars 2008
Messages : 2 280
Points : 3 376
Points : 3 376
Citation:
Envoyé par RomainVALERI Voir le message
Et le WCAG, comment dire heu ... je vais me renseigner ( "mais qu'est-ce que c'est que ce sigle... )
WCAG, c'est un standard publié par le WAI (branche accessibilité du W3C) et qui vise principalement les développeurs

Citation:
Envoyé par SpaceFrog Voir le message
le javascript dans le href ne sert à rien Mac !
il ne sera jamais atteint puisque le href est inhibé par le return false
Au temps pour moi

EDIT @RomainVALERI : T'inquiète je connais l'url par cœur
__________________
Je ne réponds pas aux questions techniques par MP.
Macmillenium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h55   #18
Expert Confirmé
 
Avatar de le_chomeur
 
Développeur informatique
Inscription : février 2006
Messages : 3 524
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 3 524
Points : 3 965
Points : 3 965
merci spaffy pour la précision ;-)

Mac ==> j'ai pas dit que c'était interdit , mais pas préconisé

;-)
__________________
est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
le_chomeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 11h07   #19
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 29 074
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 29 074
Points : 43 300
Points : 43 300
il n'était pas préconisé pour des raisons de navigation avec js desactivé mai aussi de référencement
aujourd'hui les srcolleur de google sont capable de suivre des liens javascript ...
mais parser des liens href en js ou des liens onclik n'est pas chose facile !

Donc a utiliser avec parcimonie (ou avec sa sœur ^^)
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2009, 18h15   #20
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 985
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 985
Points : 258
Points : 258
Bonjour à tous,

Je me permets de réouvrir ce post, car je souhaiterais avoir une précision :

J'ai donc écrit mon lien de cette façon :

Code :
1
2
 
<a href="javascript:void(0)"  onclick="fonction();return false;">Clic</a>
Mais supposons que le window.close() de la popup soit suivi d'un window.opener qui appelle une fonction de la page parent, et que cette fonction rafraîchisse la page :

Code :
1
2
3
4
5
6
7
 
<a href="#" onClick="window.close();window.opener.rafraichit("mapage.php?id=1")>Fermer</a>
 
//et dans la page parent
function rafraichit(url){
window.location.href=url;
}
Comment, après le refresh de la page, être au même niveau que la popup ?
Mettre une ancre + url#ancre dans la fonction "rafraichit" empêche justement le refresh...
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 04h15.


 
 
 
 
Partenaires

Hébergement Web