Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire Cours JavaScript, 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 chevronné
 
Avatar de renaud26
 
Date d'inscription: mars 2003
Localisation: Clermont-Ferrand
Âge: 46
Messages: 672
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
Vieux 02/07/2009, 15h29   #2
Membre émérite
 
Avatar de RomainVALERI
 
Date d'inscription: avril 2008
Localisation: Nancy (54)
Âge: 33
Messages: 979
Par défaut

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 :
>>> essayez mon générateur de phrases aléatoires (attention : version IE/Opera non encore opérationnelle, utilisez un autre navigateur (FF, GoogleChrome, Safari, etc.) s'il vous plaît )

(un peu plus de (4.8 x 10 puissance 74) phrases possibles actuellement )

---
>>> ou entrez dans la spirale des labyrinthes... ^^ (duels entre joueurs, avec éditeur de labyrinthes intégré et moteur 3D très propre)(pour vous mesurer à moi, cherchez : "toshir0")
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/07/2009, 15h45   #3
Modérateur
 
Avatar de le_chomeur
 
Date d'inscription: février 2006
Localisation: Normandie
Messages: 3 346
Par défaut

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
Vieux 02/07/2009, 15h57   #4
Membre émérite
 
Avatar de RomainVALERI
 
Date d'inscription: avril 2008
Localisation: Nancy (54)
Âge: 33
Messages: 979
Par défaut

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 :
>>> essayez mon générateur de phrases aléatoires (attention : version IE/Opera non encore opérationnelle, utilisez un autre navigateur (FF, GoogleChrome, Safari, etc.) s'il vous plaît )

(un peu plus de (4.8 x 10 puissance 74) phrases possibles actuellement )

---
>>> ou entrez dans la spirale des labyrinthes... ^^ (duels entre joueurs, avec éditeur de labyrinthes intégré et moteur 3D très propre)(pour vous mesurer à moi, cherchez : "toshir0")
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/07/2009, 15h58   #5
Modérateur
 
Avatar de le_chomeur
 
Date d'inscription: février 2006
Localisation: Normandie
Messages: 3 346
Par défaut

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
Vieux 02/07/2009, 16h00   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 688
Par défaut

sinon juste eviter le popup en restant sur la page mère avec un truc comme prototype window ...
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/07/2009, 16h17   #7
Membre chevronné
 
Avatar de renaud26
 
Date d'inscription: mars 2003
Localisation: Clermont-Ferrand
Âge: 46
Messages: 672
Par défaut

Merci à vous de vous pencher sur le truc.

Voici mon code :
code popup
Code :
 
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 :
 
<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 :
 
<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
Vieux 02/07/2009, 16h42   #8
Modérateur
 
Avatar de le_chomeur
 
Date d'inscription: février 2006
Localisation: Normandie
Messages: 3 346
Par défaut

Code :
<a href="#"
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
Vieux 02/07/2009, 16h54   #9
Membre chevronné
 
Avatar de renaud26
 
Date d'inscription: mars 2003
Localisation: Clermont-Ferrand
Âge: 46
Messages: 672
Par défaut

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
Vieux 02/07/2009, 17h12   #10
Membre émérite
 
Avatar de RomainVALERI
 
Date d'inscription: avril 2008
Localisation: Nancy (54)
Âge: 33
Messages: 979
Par défaut

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 :
>>> essayez mon générateur de phrases aléatoires (attention : version IE/Opera non encore opérationnelle, utilisez un autre navigateur (FF, GoogleChrome, Safari, etc.) s'il vous plaît )

(un peu plus de (4.8 x 10 puissance 74) phrases possibles actuellement )

---
>>> ou entrez dans la spirale des labyrinthes... ^^ (duels entre joueurs, avec éditeur de labyrinthes intégré et moteur 3D très propre)(pour vous mesurer à moi, cherchez : "toshir0")
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/07/2009, 17h27   #11
Responsable
(X)HTML et CSS
 
Avatar de Macmillenium
 
Date d'inscription: mars 2008
Localisation: Le Mans / Paris
Âge: 24
Messages: 2 097
Par défaut

Pas besoin d'ancre :

Code :
 
<a href="javascript:void(0)" onClick="popupcentre('images.php','images','850','800','yes')">Cliquez ici pour choisir une image</a>
 
Code :
 
<a href="javascript:popupcentre('images.php','images','850','800','yes')">Cliquez ici pour choisir une image</a>
 
Code :
 
<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
__________________
Intégrateur / Développeur web
-
Responsable (X)HTML/CSS - Modérateur Web
-
Je ne réponds pas aux questions techniques par MP

"Votre responsabilité est de ne plus développer pour IE6" Daniel Glazman
Macmillenium est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 08h38   #12
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 688
Par défaut

aussi sauf qu'il manque un return false...
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 09h28   #13
Modérateur
 
Avatar de le_chomeur
 
Date d'inscription: février 2006
Localisation: Normandie
Messages: 3 346
Par défaut

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
Vieux 03/07/2009, 10h38   #14
Responsable
(X)HTML et CSS
 
Avatar de Macmillenium
 
Date d'inscription: mars 2008
Localisation: Le Mans / Paris
Âge: 24
Messages: 2 097
Par défaut

La raison pour laquelle on recommande :

Code :
<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
__________________
Intégrateur / Développeur web
-
Responsable (X)HTML/CSS - Modérateur Web
-
Je ne réponds pas aux questions techniques par MP

"Votre responsabilité est de ne plus développer pour IE6" Daniel Glazman
Macmillenium est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h49   #15
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 688
Par défaut

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é ...
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h50   #16
Membre émérite
 
Avatar de RomainVALERI
 
Date d'inscription: avril 2008
Localisation: Nancy (54)
Âge: 33
Messages: 979
Par défaut

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 :
>>> essayez mon générateur de phrases aléatoires (attention : version IE/Opera non encore opérationnelle, utilisez un autre navigateur (FF, GoogleChrome, Safari, etc.) s'il vous plaît )

(un peu plus de (4.8 x 10 puissance 74) phrases possibles actuellement )

---
>>> ou entrez dans la spirale des labyrinthes... ^^ (duels entre joueurs, avec éditeur de labyrinthes intégré et moteur 3D très propre)(pour vous mesurer à moi, cherchez : "toshir0")

Dernière modification par RomainVALERI ; 03/07/2009 à 12h59.
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h50   #17
Responsable
(X)HTML et CSS
 
Avatar de Macmillenium
 
Date d'inscription: mars 2008
Localisation: Le Mans / Paris
Âge: 24
Messages: 2 097
Par défaut

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
__________________
Intégrateur / Développeur web
-
Responsable (X)HTML/CSS - Modérateur Web
-
Je ne réponds pas aux questions techniques par MP

"Votre responsabilité est de ne plus développer pour IE6" Daniel Glazman
Macmillenium est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/07/2009, 10h55   #18
Modérateur
 
Avatar de le_chomeur
 
Date d'inscription: février 2006
Localisation: Normandie
Messages: 3 346
Par défaut

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
Vieux 03/07/2009, 11h07   #19
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 688
Par défaut

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 ^^)
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/07/2009, 18h15   #20
Membre chevronné
 
Avatar de renaud26
 
Date d'inscription: mars 2003
Localisation: Clermont-Ferrand
Âge: 46
Messages: 672
Par défaut

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 :
 
<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 :
 
<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
NEWS JAVASCRIPTF.A.Q JSTUTORIELS JSSOURCES JSLIVRES JS

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 11h20.


Vos questions techniques : forum d'entraide JavaScript - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.