Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    2 Pop-up- Focus & Blur ...

    Aiutatemi please!!!
    Sto bestemmiando per colpa di due pop up e la gestione del focus delle finestre.

    In poche parole ho una pagina principale (non è una pop-up) dalla quale apro la pop-up n.1.

    All'interno c'è un'immagine e dei campi di input e deve rimanere sempre in primo piano rispetto alla pagina pricipale.

    Cliccando sull'immagine si apre la pop-up n.2 con all'interno la stessa immagine a grandezza reale.

    Il problema è gestire il focus e il blur per ciascuna pop-up!

    La n.1 deve rimanere in primo piano ma con la possibilità di editare i campi del form.

    Quando si apre la n.2 dovrebbe "disabilitare" il focus sulla n.1 e abilitarlo alla n. 2 perchè altrimenti non è più cliccabile... neanche per chiuderla!

    Nel post delle discussioni utili ho trovato script per risolvere i problemi per la pop-up n.1, mentre per la n.2 sono ancora in alto mare...

    Nella Pop-up n.1:
    <body onload="init();self.focus();">

    Questo è lo script per poter scrivere all'inteno dei campi di input:

    function init(){if(document.all){active=1;
    onblur=function(){if(active)focus();};
    for(var j=0; j<document.f.length; j++){
    document.f[j]. onmousedown=function(){active=0;focus();
    };
    document.f[j]. onblur=function(){active=1;focus();};}}}


    Ma quando si apre la pop-up n.2 come faccio a gestire il focus per le due pop-up? Porc....!
    Qualcuno ha qualche dritta da darmi?
    Grazie ancora!
    Ciao

    Masta

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    IO affronterei il problema da un punto di vista diverso.

    Anziche` la finestra che si prende il focus, farei che la finestra di sotto, se prende il focus lo cede subito a quella superiore.
    naturalmente la cosa deve funzionare solo da quando e fino a quando la finestra superiore esiste.


    Quindi:

    principale:
    <body ... onFocus="if(win2.document && !win2.closed) win2.focus();">

    dove win2 e` viene definito:
    win2 = window.open(....); // apertura seconda finestra

    Lo stesso dicasi per la seconda finestra nei confronti della terza.



    Ora ho un dubbio come si fa a verificare se la finestra esiste.
    Potrebbe essere if(win2.document) (come ho scritto sopra) oppure if(win2) oppure ancora qualcos'altro. Qualcuno in questo forum aveva postato la risposta, ma ora nonla ricordo piu`.

    Invece per testare se la finestra e` stata chiusa, il !win2.closed dovrebbe essere corretto.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.