Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Iron83
    Registrato dal
    Jun 2008
    Messaggi
    396

    Chiusura popup dopo elaborazione dati

    Ciao a tutti,

    ho un form contenuto in un popup aperto tramite un link in javascript.
    Il form passa i dati ad una pagina ASP che li elabora, all'interno ho inserito dei controllo su dei campi che se non vengono compilati lo script rimanda alla pagina principale con una visualizzazione di un messaggio di errore.

    Il mio problema è che nello stato attuale una volta passati i dati (vuoti) alla pagina che li elabora, anzichè effettuare il redirect nella pagina principale, visualizzo la pagina principale all'interno il popup. Quello di cui avrei bisogno è la chiusura automatica del popup. Ho provato ad inserirlo ma la chiusura non avviene.

    pagina elaborazione
    Codice PHP:
        If Username "" OR PassWord "" OR LivelloUtente "" Then
        Response
    .Write "<script language='javascript'>"
            
    Response.Write "self.close()"
        
    Response.Write "</script>"
            
    Response.Redirect "main.asp?Errore=1"
        
    End If 
    Spero di essere stato il più chiaro possibile

    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di Iron83
    Registrato dal
    Jun 2008
    Messaggi
    396
    UP

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    il codice js mettilo fuori, non usare response.write

    codice:
    If Username = "" OR PassWord = "" OR LivelloUtente = "" Then %>
    
    
    <script language="javascript">
    self.close(); // chiude popup
    opener.location.href="main.asp?Errore=1"; // redirect alla pagina che ha aperto il popup
    </script>
    
    <%
    'Response.Redirect "main.asp?Errore=1"
    End If
    al response.redirect non puoi dare proprietà o riferimenti per aprire i messaggi di errore nella pagina madre.

    Nell'esempio scegli se chiudere la popup o usare opener di js per aprire la pagina main.asp.... nella finestra madre (quella che ha aperto la popup).

    Massimo

  4. #4
    Utente di HTML.it L'avatar di Iron83
    Registrato dal
    Jun 2008
    Messaggi
    396
    Ciao Massimo,

    intanto ti ringrazio per la risposta.

    Ho inserito lo script come l'hai postato, il problema è che se clicco sul pulsante "salva" e passo cos' gli input vuoti, lo script passa direttamente all'inserimento dei dati nel db (rs vuoti in questo caso) ignorando i controlli. In più non chiude il popup ma visualizzo il messaggio di avvenuto inserimento direttamente nel popup...

    Posto il codice completo

    Codice PHP:
    If Username "" OR PassWord "" OR LivelloUtente "" Then
    %>
    <
    script language="javascript">
    self.close(); // chiude popup
    opener.location.href="main.asp?Errore=1"// redirect alla pagina che ha aperto il popup
    </script>
    <%
            'Response.Redirect "main.asp?Errore=1"
    Else
        
            sql ="SELECT * FROM xxx WHERE xxxx='" & xxxx & "'"
            Set rs = Server.CreateObject("ADODB.Recordset")
            rs.Open sql, conn, 1,3
    ................. 

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    prova a chiudere con end if prima dell'else (prova a mettere anche un response.end)


    Massimo

  6. #6
    Utente di HTML.it L'avatar di Iron83
    Registrato dal
    Jun 2008
    Messaggi
    396
    Grande!

    ho inserito l'Else prima dell'End If e funziona!

    L'unica cosa è che mi spara l'alert per la conferma della chiusura della pagina, non è possibile farla chiudere senza alert??

    Grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2000
    Messaggi
    938
    Ciao,

    dovrebbe essere prima end if e dopo else

    se la condizione è vera esegui l'if altro else.

    JS non chiede conferma per la chiusura di una popup (se l'alert che tu dici è quello della finestra di sistema dell'SO), questo messaggio compare se si tenta di chiudere una finestra madre.


    Massimo

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.