avrei questo problema ho unapagina x da questa pagina x apro una popup che
deve
diventare fissa, nel senso si deve uscire solo se si clicca il tasto
specifico, altrimenti deve
essere prioritaria e non permettere di uscire da questa popup ne col il
mouse ne con la tastiera
Grazie mille.
scordatelo (un esempio? con windows, ctrl-alt-canc e la tronchi)
Se spieghi il contesto magari troviamo un work-around (per esempio,
conosci l'evento onbeforeunload?
https://developer.mozilla.org/en/DOM/window.onbeforeunload
)
no non conosco questo evento che fa?
Cristiano dicevi di scordarmi javascript modal dialogbox ?
Cristiano per� se mi dovessero chiudere lapagina con crtl alt canc non mi
interessa pi� di tanto,
perch� vuol dire che mi stanno forzando la chiusura della pagina
sottostante.
In pratica la pagina x che apro effettua modifiche sulla pagina sottostante.
Ho notato che capita che utenti aprono la popup, poi per un motivo qualunque
tornano al sito sottostante e mi cambiano la pagina, poi ritornano sulla
popup premono il tasto di aggiorna\chiusura
ma da errore perch� la pagina che si apre con la popup "scrive" dentro il
form che non � pi� presente sotto (perch� precedentemente me l'hanno
cambiato)
quindi avevo pensato ma se "disattivo" e rendo anche trasparente cosi come
ho visto in qualche sito in php che rendono trasparente tutto il sotto
(penso sia fatto in javascript) non si fa prima?
> Cristiano però se mi dovessero chiudere lapagina con crtl alt canc non
> mi interessa più di tanto,
> perchè vuol dire che mi stanno forzando la chiusura della pagina
> sottostante.
ok, ma dalla tua domanda non si capiva...
> In pratica la pagina x che apro effettua modifiche sulla pagina
> sottostante.
ok
> Ho notato che capita che utenti aprono la popup, poi per un motivo
> qualunque tornano al sito sottostante e mi cambiano la pagina, poi
> ritornano sulla popup premono il tasto di aggiorna\chiusura
> ma da errore perchè la pagina che si apre con la popup "scrive" dentro
> il
> form che non è più presente sotto (perchè precedentemente me l'hanno
> cambiato)
Se è solo questo il problema dovrebbe bastare testare l'opener, se null
ha chiuso il browser (non ricordo se dà null anche se cambi pagina, ma
temo di no):
https://developer.mozilla.org/en/DOM/window.opener
Oppure via codice con una buona gestione degli errori.
> quindi avevo pensato ma se "disattivo" e rendo anche trasparente cosi
> come ho visto in qualche sito in php che rendono trasparente tutto il
> sotto (penso sia fatto in javascript) non si fa prima?
Sono due cose diverse: le modal dialog aprono pagine "modali" (ossia, non
puoi più accedere alla pagina "madre" finché la figlia non viene chiusa).
Per questo vedi risposta di Giacomelli.
Invece quell'effetto trasparente che vedi te non sono popup, ma dei div
che vengono visualizzati *nella pagina* (e non in una popup) e che,
sostanzialmente, si pongono "sopra" agli oggetti contenuti nella pagina
(rendendoli di fatto non più cliccabili).
Anche per questo troverai un fantastiliardo di esempi in internet; in
entrambi i casi testa molto bene con vari browser perché moltissimi di
questi esempi che troverai funzionano solo con IE.
>> scordatelo (un esempio? con windows, ctrl-alt-canc e la tronchi) Se
>> spieghi il contesto magari troviamo un work-around (per esempio,
>> conosci l'evento onbeforeunload?
>> https://developer.mozilla.org/en/DOM/window.onbeforeunload )
>
>
> no non conosco questo evento che fa?
quello che c'è scritto nel link che ti ho postato ...
> Cristiano dicevi di scordarmi javascript modal dialogbox ?
Dalla tua domanda "non permettere di uscire da questa popup ne col il
mouse ne con la tastiera" direi di sì (ma, come hai specificato
nell'altro post, non è questo ciò che volevi ottenere esattamente)
No Cristiano non � testare opener che mi serve.
Ripropongo la dinamica:
io ho un form, da questo form apro la popup che aggiorna il form
sottostante.
Pu� succedere che la popup resta aperta ma la pagina sotto non ha piu il
form con la quale
Interagisce la popup. Ecco io dovrei testare se un determinato oggetto tipo
document.form.TC esista o meno in questo momento.
(dove per form intendo ilnome form e per Tc il controllo che devo testare se
esiste o meno)
Spero di essere stato pi� chiaro.
Grazie mille.
cioe questo codice � dentro la popup e se premo il tasto ok fa queste
istruzioni.....
opener.document.forms['FormCar'].TC.value=1
opener.document.forms['FormCar'].submit()
window.close()
se la finestra sotto la lascio ninalterata tutto funziona se cambio la
finestra sotto ovviamente da errore
perche la FormCar non esiste
> opener.document.forms['FormCar'].TC.value=1
> opener.document.forms['FormCar'].submit() window.close()
>
> se la finestra sotto la lascio ninalterata tutto funziona se cambio la
> finestra sotto ovviamente da errore
> perche la FormCar non esiste
non è semplice, così a naso (mai testato).
Perché potresti verificare "a cascata", del tipo (da testare):
if(opener && !opener.closed && opener.document.forms.length>0 &&
opener.document.forms["FormCar"] && opener.document.forms
["FormCar"].elements.length>0 && opener.document.forms["FormCar"].elements
["TC"]) ... allora esiste.
Ma quanto sopra temo generi un errore se nella "madre" si cambia dominio
(da testare), a causa della SOP:
https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript
Comunque con una Dialog dovresti risolvere (la "madre" non è toccabile
finché non chiudi la figlia).
> Comunque con una Dialog dovresti risolvere (la "madre" non � toccabile
> finch� non chiudi la figlia).
per quando riguarda invece l'altra opzione che mi avevi "proposto"..
come si fa nel senso...apro la popup e la rendo Assoluta cioe fin quando non
chiudo la popup non posso fare nient'altro!!!???
"Cristiano Larghi" <c.la...@criosoftware.it> ha scritto nel messaggio
news:heof7q$hri$1...@aioe.org...
> Il Fri, 27 Nov 2009 12:54:04 +0100, dario ha scritto:
> non � semplice, cos� a naso (mai testato).
> Perch� potresti verificare "a cascata", del tipo (da testare):
> no, Cristiano funziona alla grande....grazie.
strano ... è opener che diventa null?
>> Comunque con una Dialog dovresti risolvere (la "madre" non è toccabile
>> finché non chiudi la figlia).
> per quando riguarda invece l'altra opzione che mi avevi "proposto"..
che sarebbe la Dialog, vero?
> come si fa nel senso...apro la popup e la rendo Assoluta cioe fin quando
> non chiudo la popup non posso fare nient'altro!!!???
esatto. vedi la risposta di Michelangelo Giacomelli, e ricordati di
testare con più browser perché per farla cross-browser è ostica...