Onfocus ne marche pas !!!

Fermé
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 11 août 2003 à 14:17
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 12 août 2003 à 23:11
Salut a tous,
Je ne comprend pas pourquoi, sur le site http://txiki.free.fr/quizz/page1/quizz_1.htm lorsque l'on se trompe sur la réponse et que l'on veut cliquer sur un autre lien, la première popup ne disparaît pas au bénéfice de la seconde (elle se ferme toute seule, mais l'autre s'ouvre en arrière plan, voir la barre des tâches).

Voici le fameux script ci-dessous:

<!--popup centree pour les vignettes du quizz...
function PopUp(mypage,myname,w,h,scroll)
{
var LeftPosition = (screen.width-w)/2;
var TopPosition = (screen.height-h)/2;
var settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+', scrollbars=no,resizable=no'
window.open(mypage,myname,settings)
popquizz.focus();
}
//-->

Merci de m'éclairer sur la ligne (où peut etre bien sur tout le script d'ailleurs... j'ai foiré quelque parts mais oùùùùù !!!!!

http://abarka.free.fr
Un adulte assis voit plus loin qu'un jeune debout.

3 réponses

Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
11 août 2003 à 15:59
A mon avis, l'objet (instance) auquel tu prétends donner le focus ne correspond pas à la fenêtre que tu ouvres.
Je ne connais pas en détail les mécanismes, mais je conseillerais d'essayer :
popquizz = window.open( ..... )
popquizz.focus()

[l'objet "popquizz" existe quelque part, sinon tu aurais un message de type "object inexistant"]
Sinon, si l'objet est celui fourni par l'argument "myname", il faut passer par une fonction d'évaluation de l'objet :
eval(myname+".focus()") ;
0
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
11 août 2003 à 17:01
Salut Marden et merci pour ton aide,
Ce coup-ci, ça fonctionne mais pas pour tous les liens, en particulier le dernier en bas à droite. La popup reste encore en arrière plan ??? Pourquoi ça marche pour certains et pas pour d'autres ? Ya un truc qui m'échappe là dedans. Je ne connais rien au javascript pour pouvoir analyser correctement le script.. Voici ce que j'ai maintenant:
<!--popup centree pour les vignettes du quizz... 
function PopUp(mypage,myname,w,h,scroll)
{
var LeftPosition = (screen.width-w)/2;
var TopPosition = (screen.height-h)/2;
var settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+', scrollbars=no,resizable=no' 
popquizz = window.open(mypage,myname,settings)
popquizz.focus(); 
} 
//-->


En tous cas, je te remercie infiniment pour ton aide si rapide. ;-)

http://abarka.free.fr
Un adulte assis voit plus loin qu'un jeune debout.
0
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
11 août 2003 à 17:03
Au fait ! il manque pas un point virgule "; " après settings) ?

http://abarka.free.fr
Un adulte assis voit plus loin qu'un jeune debout.
0
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
11 août 2003 à 17:24
Salut txiki,

Je vais aller voir, et essayer de noter ce qui est différent d'un cas à l'autre. Je n'ai jamais utilisé.

Pour le ";", il n'est pas obligatoire en fin de ligne (qui est matérialisé dans le fichier, mais non visible sous éditeur, type NotePad, alors qu'avec un traitment de texte, on pourrait le rendre visible, en option). La "fin de ligne" est un délimiteur de fin d'instruction, le ";" est obligatoire si l'on veut mettre plusieurs instructions sur la même ligne.
0
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
11 août 2003 à 17:47
La version actuelle de la fonction "PopUp" est celle indiquée au début du message.
Le comportement est le même pour tous les cas (avec message éphémère "popquizz, objet non défini"), logique jusqu'à preuve du contraire.
0
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
12 août 2003 à 23:11
Salut Marden et a tous les autres,
Voici ma correction, (qui fonctionne) mais si ça peut aider d'autres gens...

script pour popup centree et en premier plan:

<!--popup centree pour les vignettes du quizz... 
function PopUp(mypage,myname,w,h,scroll)
{
var LeftPosition = (screen.width-w)/2;
var TopPosition = (screen.height-h)/2;
var settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+', scrollbars=no,resizable=no' 
//NE PAS oublier POPQUIZZ = window.open(mypage,myname,settings)
ce qui donne:
popquizz = window.open(mypage,myname,settings)
popquizz.focus(); 
} 
//-->

Merci encore a toi et a + ;-)).
Tu peux t'en rendre compte par toi même sur abarka, section "QUIZZ".


http://abarka.free.fr
Un adulte assis voit plus loin qu'un jeune debout.
0