Chiusura dialog jquery dopo tramite javascript

venerdì 10 febbraio 2012 - 12.12
Tag Elenco Tags  Javascript  |  VBScript

Cyberking Profilo | Junior Member

Ciao a tutti,
sto realizzando una dialog che contiene un iframe con una pagina asp, che esegue un operazione.
Alla fine dell'operazione vorrei che la dialog si chiudesse da sola.
Ho fatto diversi tentativi ma non ci riesco, qualcuno ha qualche suggerimento?

questo è quello che sto provando a scrivere, ma ho tentanto anche altre script

<script type="text/javascript"> $(function(){ $("dialog").dialog("close"); }); </script>
http://www.internetdiscount.it

alx_81 Profilo | Guru

>Ciao a tutti,
ciao

>sto realizzando una dialog che contiene un iframe con una pagina
>asp, che esegue un operazione.
>Alla fine dell'operazione vorrei che la dialog si chiudesse da
>sola.
>questo è quello che sto provando a scrivere, ma ho tentanto anche
>altre script
>
><script type="text/javascript">
> $(function(){
> $("dialog").dialog("close");
> });
></script>
siccome stai usando jQuery, se vuoi far apparire una dialog fino a che un particolare processo a server non è finito, ti conviene fare una chiamata ajaxt e chiudere la dialog alla success callback.
Però dovresti spiegare meglio la tua situazione reale.. quando vuoi che si apra? quando che si chiuda? che plugin stai usando?

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

totti240282 Profilo | Guru

$("dialog").dialog("close");

Questo comando da dove lo chiami ???
C'è solo un capitano !!!!!!

Cyberking Profilo | Junior Member

Intanto grazie di avermi risposto
Allora ho una pagina base dove si clicca un tasto "aggiungi utente" che fa aprire una dialog
in questa dialog è contenuto un frame

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

la pagina adduser contenuta nel dialog ha un form che invia i dati ad una pagina di ok che inserisce i dati nel db (ok.asp)
alla fine dell'inserimento dei dati in asp ho messo quel codice che ho postato sopra e che non va bene

naturalmente posso fare la stessa operazione anche nella stessa pagina adduser.asp per me cambia poco

quindi che vorrei fare, l'utente preme su aggiungi utente dopo di che inserisci i dati nel form, clicca sul submit, inserisco i dati nel db e a questo punto vorrei che il dialog si chiudesse da solo

Spero di essere stato più chiaro.
Grazie
http://www.internetdiscount.it

Cyberking Profilo | Junior Member

$("dialog").dialog("close");
l'avevo messo nel dialog dopo l'inserimento dati
http://www.internetdiscount.it

totti240282 Profilo | Guru

Si ma non lo hai messo nel codice lato serve giusto ?
C'è solo un capitano !!!!!!

alx_81 Profilo | Guru

>la pagina adduser contenuta nel dialog ha un form che invia i
>dati ad una pagina di ok che inserisce i dati nel db (ok.asp)
>alla fine dell'inserimento dei dati in asp ho messo quel codice
>che ho postato sopra e che non va bene
l'inserimento viene fatto lato server.. non c'entra con l'html o il js che metti "in fondo" alla pagina.
Per gestire questo tipo di operazioni c'è ajax.

utilizza il metodo $.ajax (o post) di jQuery: http://api.jquery.com/jQuery.post/

in questo modo chiami lato server la pagina "ok.asp", poi alla fine di essa torni true o false, in modo che la callback success o error vengano chiamate.
Lì gestisci le tue chiusure.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Cyberking Profilo | Junior Member

faccio finta che debba fare una ltra cosa così forse capite cosa mi serve, perchè il problema nn ce l'ho sullo script server
apro la dialog con dentro un iframe
in questo iframe cpà un link vai a pagina2.asp sempre nell'iframe
nella pagina2.asp ...lasciate stare asp...e quello che fa la pagina come arriva a pagina due voglio che la dialog si chiuda da sola
http://www.internetdiscount.it

alx_81 Profilo | Guru

>faccio finta che debba fare una ltra cosa così forse capite cosa
>mi serve, perchè il problema nn ce l'ho sullo script server
>apro la dialog con dentro un iframe
>in questo iframe cpà un link vai a pagina2.asp sempre nell'iframe
>nella pagina2.asp ...lasciate stare asp...e quello che fa la
>pagina come arriva a pagina due voglio che la dialog si chiuda da sola
credo sia chiaro che si tratti di un problema che è piuttosto comune. Però correggimi se sbaglio. Ti faccio l'esempio io e dimmi se è lo stesso caso, senza parlare di frame o meno:
- apro un popup (un div, un frame, un quello che vuoi)
- il popup fa qualcosa a server, come ad esempio salvare dati o upload
- quando ha terminato la sua operazione deve dare un feedback per chiudere il popup e tornare alla pagina sottostante

se è corretto, ribadisco il mio post, e userei ajax, se non è corretto, ti chiedo scusa in anticipo e ho bisogno di capire meglio

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

totti240282 Profilo | Guru

Metti un button con codice lato server, e nell' evento onclientclic, metti il tuo script java per chiudere la dialogbox.
C'è solo un capitano !!!!!!

alx_81 Profilo | Guru

>Metti un button con codice lato server, e nell' evento onclientclic,
>metti il tuo script java per chiudere la dialogbox.
Guarda che in questo modo fai la postback e chiudi completamente fuori controllo la dialog.
Se lui ha necessità di chiuderla alla fine di un esecuzione e di non refreshare la pagina non è una soluzione valida secondo me.

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

totti240282 Profilo | Guru

A me in questo modo la finestra si chiude alla fine del postback.
C'è solo un capitano !!!!!!

Cyberking Profilo | Junior Member

Intanto ringrazio a tutti per avermi risposto,
forse ho dimenticato di dire che non stavo parlando di asp.net ma di asp classico.
Per quello che riguarda il dialog, in questo caso non ho la necessità di fare il refresh della pagina, ma ben si solo salvare dei dati nella dialog e fare in modo che questa si chiuda.
Volevo cercare questa soluzione, anche per altri casi, perchè mettiamo che voglai aprire un dialog effettuare una ricerca e passare il valore cercato alla pagina base, allora in quel caso vorrei che quando il dialog ha finito la sua operazione e passato tramite javascript un parametro alla pagina base si chiuda.
In questo caso devo fare un invio dati al db.
Provo la soluzione alx_81 che se non ho capito male è questa.
Faccio un from, sul submit invio i dati non ad un'altra pagina tramite post, ma tramite ajax, a questo punto intercetto il risultato dell'invio e nel javascript usato da per ajax e vado a fare la chiusura del dialog con $("dialog").dialog("close");
giusto?
Grazie :)

http://www.internetdiscount.it

alx_81 Profilo | Guru

>A me in questo modo la finestra si chiude alla fine del postback.
sì ma perdi completamente il controllo del processo a server, e se qualcosa va male?

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

alx_81 Profilo | Guru

>forse ho dimenticato di dire che non stavo parlando di asp.net ma di asp classico.
non cambia tantissimo, basta tornare il formato che serve.

>Per quello che riguarda il dialog, in questo caso non ho la necessità
>di fare il refresh della pagina, ma ben si solo salvare dei dati
>nella dialog e fare in modo che questa si chiuda.
esatto, per questo la cosa migliore è usare ajax. Faccio qualcosa lato server (salvo i dati) e poi gestisco la callback per chiudere la dialog o dare errore.

>Volevo cercare questa soluzione, anche per altri casi, perchè
>mettiamo che voglai aprire un dialog effettuare una ricerca e
>passare il valore cercato alla pagina base, allora in quel caso
>vorrei che quando il dialog ha finito la sua operazione e passato
>tramite javascript un parametro alla pagina base si chiuda.
>In questo caso devo fare un invio dati al db.
esatto, proprio quello che intendo.

>Provo la soluzione alx_81 che se non ho capito male è questa.
>Faccio un from, sul submit invio i dati non ad un'altra pagina
>tramite post, ma tramite ajax, a questo punto intercetto il risultato
>dell'invio e nel javascript usato da per ajax e vado a fare la
>chiusura del dialog con $("dialog").dialog("close");
>giusto?
Non è proprio così.
Ti faccio un semplice esempio, dammi un pochino di tempo.

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

alx_81 Profilo | Guru

finalmente sono riuscito a farti l'esempio.
prova ad usare questo modello (allegato) e facci sapere
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5