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

    Chiusura pop-up e ricaricamento pagina madre.

    Da una pagina asp faccio aprire una pop-up per poter modificare il contenuto di un record di un database. dopo l'avvenuto aggiornamento dovrei riuscire a far chiudere la pop-up e a ricaricare la pagina madre in modo da far apparire le notizie modificate. Ho fatto l'update del recordset tramite la procedura di dreamweaver mx e ho 1 javascript che effettua la chiusura della pop-up e il ricaricamento della pagina madre..ma nn so cm inserirlo nella pagina asp...

    lo script è:

    <script>
    function vai() {
    opener.location = "visgallery.asp";
    window.close()
    }
    </script>

    ma nn so come rikiamare la funzione in modo ke la esegua solo dopo aver fatto l'update....

    ki mi saprebbe aiutare????

    1 mega grazie in anticipo!
    Manuk!!

  2. #2
    nessuno????
    Manuk!!

  3. #3
    Predisponi una funzione di questo tipo:

    codice:
    function popupRichiesteAfterClose()
    {
        alert("Aggiornamento dei dati");
        location.reload(true);
    }
    Che sarà richiamata dalla tua funzione principale che ti schedula il popup:

    codice:
    function consolidaVal() {
    	
        var url = 'pagina.html';
    
        return	openPopup(url, '_blank', 'resizable,scrollbars,width=600,height=400', popupRichiesteAfterClose);
    }
    openPopup sarà una funzione generalizzata che andrai a mettere in un file estrno .js:

    codice:
    //**********************************************************//
    // Gestione apertura del popup ed intercettazione della sua chiusura			            //
    //**********************************************************//
    var popupTimeout;
    var popup=null;
    var afterClosePopup;
    var NN = navigator.appName == "Netscape"
    
    function popupFocus()
    {
        if(NN)
        {
            if (popup && !popup.closed)
            {
                  popup.focus();
                   self.blockEvents();
            }    
        }
    }
    
    function openPopup(url,target,params,afterCloseFunction)
    {
        if ( (popup==null) || (popup.closed) )
        {
            popup = window.open(url,target,params);
            afterClosePopup=afterCloseFunction;
            checkPopupClosed();
        }
        return false;		
    }
    
    function checkPopupClosed()
    {
         if(popup.closed)
         {
           clearTimeout(popupTimeout);
           afterClosePopup();
         }
         else
         {
            popupTimeout = setTimeout("checkPopupClosed();",100);
         }
     }
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    nn ci ho capito nulla...scusami!

    ti posto la pagina cn il codice della pop-up...così vedi cosa ho combinato...:




    <%
    'codice di dreamweaver per definire i recordset
    ' *** Edit Operations: declare variables

    Dim MM_editAction
    Dim MM_abortEdit
    Dim MM_editQuery
    Dim MM_editCmd

    Dim MM_editConnection
    Dim MM_editTable
    Dim MM_editRedirectUrl
    Dim MM_editColumn
    Dim MM_recordId

    Dim MM_fieldsStr
    Dim MM_columnsStr
    Dim MM_fields
    Dim MM_columns
    Dim MM_typeArray
    Dim MM_formVal
    Dim MM_delim
    Dim MM_altVal
    Dim MM_emptyVal
    Dim MM_i

    MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
    If (Request.QueryString <> "") Then
    MM_editAction = MM_editAction & "?" & Request.QueryString
    End If

    ' boolean to abort record edit
    MM_abortEdit = false

    ' query string to execute
    MM_editQuery = ""
    %>
    <%
    ' *** Update Record: set variables

    If (CStr(Request("MM_update")) = "form1" And CStr(Request("MM_recordId")) <> "") Then

    MM_editConnection = MM_rscorsi_STRING
    MM_editTable = "gallery"
    MM_editColumn = "id"
    MM_recordId = "'" + Request.Form("MM_recordId") + "'"
    MM_fieldsStr = "didascalia|value"
    MM_columnsStr = "didascalia|',none,''"

    ' create the MM_fields and MM_columns arrays
    MM_fields = Split(MM_fieldsStr, "|")
    MM_columns = Split(MM_columnsStr, "|")

    ' set the form values
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
    Next


    End If
    %>
    <%
    ' *** Update Record: construct a sql update statement and execute it

    If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then

    ' create the sql update statement
    MM_editQuery = "update " & MM_editTable & " set "
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
    MM_formVal = MM_emptyVal
    Else
    If (MM_altVal <> "") Then
    MM_formVal = MM_altVal
    ElseIf (MM_delim = "'") Then ' escape quotes
    MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
    Else
    MM_formVal = MM_delim + MM_formVal + MM_delim
    End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
    MM_editQuery = MM_editQuery & ","
    End If
    MM_editQuery = MM_editQuery & MM_columns(MM_i) & " = " & MM_formVal
    Next
    MM_editQuery = MM_editQuery & " where " & MM_editColumn & " = " & MM_recordId

    If (Not MM_abortEdit) Then
    ' execute the update
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    ' ************************************************** **
    ' e qui arriva il problema! una volta updatato deve kiudere la pop-up
    ' e ritornare alla finestra principale. così come sta, invece, nn
    ' sortisce nessun effetto!
    '************************************************* *****
    %>
    <script>vai();</script>
    <%
    end if
    end if

    Dim Recordset1__MMColParam
    Recordset1__MMColParam = "1"
    If (Request.QueryString("id") <> "") Then
    Recordset1__MMColParam = Request.QueryString("id")
    End If
    %>
    <%
    Dim Recordset1
    Dim Recordset1_numRows

    Set Recordset1 = Server.CreateObject("ADODB.Recordset")
    Recordset1.ActiveConnection = MM_rscorsi_STRING
    Recordset1.Source = "SELECT id, didascalia FROM gallery WHERE id = " + Replace(Recordset1__MMColParam, "'", "''") + ""
    Recordset1.CursorType = 0
    Recordset1.CursorLocation = 2
    Recordset1.LockType = 1
    Recordset1.Open()

    Recordset1_numRows = 0
    %>
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="backoffice.css" rel="stylesheet" type="text/css">
    </head>
    <script>
    function vai() {
    opener.location = "visgallery.asp";
    window.close()
    }
    </script>

    <body bgcolor="#FFFFFF" text="#000000">
    <form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1">
    <table width="250" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td class="testoscuro" align="center">Inserisci la nuova didascalia:


    <input type="text" name="didascalia" class="testoscuro" value="<%=(Recordset1.Fields.Item("didascalia").Va lue)%>" size="47">
    </td>
    </tr>
    <tr>
    <td align="center">
    <input name="aggiorna" type="button" value="aggiorna" class="testoscuro"></td>
    </tr>
    </table>
    <input type="hidden" name="MM_update" value="form1">
    <input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("didascalia").Value %>">
    </form>
    </body>
    </html>


    <%
    Recordset1.Close()
    Set Recordset1 = Nothing
    %>


    sxo ke ora io sia stata + kiara!

    grazie!
    Manuk!!

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    non mi e' chiaro la descrizione del difetto... "non sortisce alcun effetto" :master:

    Comunque prova ad anteporre questa linea al tuo codice ASP:
    <% response.buffer = true %>

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    risolto...
    vi posto il codice della pagina x correttezza...


    <%
    ' *** Edit Operations: declare variables

    Dim MM_editAction
    Dim MM_abortEdit
    Dim MM_editQuery
    Dim MM_editCmd

    Dim MM_editConnection
    Dim MM_editTable
    Dim MM_editRedirectUrl
    Dim MM_editColumn
    Dim MM_recordId

    Dim MM_fieldsStr
    Dim MM_columnsStr
    Dim MM_fields
    Dim MM_columns
    Dim MM_typeArray
    Dim MM_formVal
    Dim MM_delim
    Dim MM_altVal
    Dim MM_emptyVal
    Dim MM_i

    MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
    If (Request.QueryString <> "") Then
    MM_editAction = MM_editAction & "?" & Request.QueryString
    End If

    ' boolean to abort record edit
    MM_abortEdit = false

    ' query string to execute
    MM_editQuery = ""
    %>
    <%
    ' *** Update Record: set variables

    If (CStr(Request("MM_update")) = "form1" And CStr(Request("MM_recordId")) <> "") Then

    MM_editConnection = MM_rscorsi_STRING
    MM_editTable = "gallery"
    MM_editColumn = "id"
    MM_recordId = "" + Request.Form("MM_recordId") + ""
    MM_fieldsStr = "didascalia|value"
    MM_columnsStr = "didascalia|',none,''"

    ' create the MM_fields and MM_columns arrays
    MM_fields = Split(MM_fieldsStr, "|")
    MM_columns = Split(MM_columnsStr, "|")

    ' set the form values
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
    Next


    End If
    %>
    <%
    ' *** Update Record: construct a sql update statement and execute it

    If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then

    ' create the sql update statement
    MM_editQuery = "update " & MM_editTable & " set "
    For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
    MM_formVal = MM_emptyVal
    Else
    If (MM_altVal <> "") Then
    MM_formVal = MM_altVal
    ElseIf (MM_delim = "'") Then ' escape quotes
    MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
    Else
    MM_formVal = MM_delim + MM_formVal + MM_delim
    End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
    MM_editQuery = MM_editQuery & ","
    End If
    MM_editQuery = MM_editQuery & MM_columns(MM_i) & " = " & MM_formVal
    Next
    MM_editQuery = MM_editQuery & " where " & MM_editColumn & " = " & MM_recordId

    If (Not MM_abortEdit) Then
    ' execute the update
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close
    %>
    <script>
    opener.location = "visgallery.asp";
    window.close()
    </script>
    <%
    end if
    end if

    Dim Recordset1__MMColParam
    Recordset1__MMColParam = "1"
    If (Request.QueryString("id") <> "") Then
    Recordset1__MMColParam = Request.QueryString("id")
    End If
    %>
    <%
    Dim Recordset1
    Dim Recordset1_numRows

    Set Recordset1 = Server.CreateObject("ADODB.Recordset")
    Recordset1.ActiveConnection = MM_rscorsi_STRING
    Recordset1.Source = "SELECT * FROM gallery WHERE id = " + Replace(Recordset1__MMColParam, "'", "''") + ""
    Recordset1.CursorType = 0
    Recordset1.CursorLocation = 2
    Recordset1.LockType = 1
    Recordset1.Open()

    Recordset1_numRows = 0
    %>
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="backoffice.css" rel="stylesheet" type="text/css">
    </head>

    <body bgcolor="#FFFFFF" text="#000000">
    <form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1">
    <table width="250" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td class="testoscuro" align="center">Inserisci la nuova didascalia:


    <input type="text" name="didascalia" class="testoscuro" value="<%=(Recordset1.Fields.Item("didascalia").Va lue)%>" size="47">
    </td>
    </tr>
    <tr>
    <td align="center">

    <input name="aggiorna" type="submit" value="aggiorna" class="testoscuro"></td>
    </tr>
    </table>
    <input type="hidden" name="MM_update" value="form1">
    <input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("id").Value %>">
    </form>
    </body>
    </html>


    <%
    Recordset1.Close()
    Set Recordset1 = Nothing
    %>
    Manuk!!

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Per chi non volesse spulciare il codice alla ricerca dell'errore: veniva richiamata la funzione prima che la stessa fosse stata dichiarata.

    Soluzione adottata: invece di richiamare la funzione si eseguono direttamente le due linee di codice.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.