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

    Popup e aggiornamento database

    Ciao a tutti.
    Sono partito dal problema di gestire un popup che rimanga sempre in primo piano.
    Leggendo e cercando sul forum mi è stato di grande aiuto il codice di standard (http://forum.html.it/forum/showthrea...hreadid=241216)
    Però ho un problema.
    Nel popup che vado ad aprire ho una form che lancia una pagina asp per aggiornare un db access.
    PERCHE' la nuova pagina che aggiorna NON STA dentro il popup ?
    Forse sono un po' stanco... mi sono perso in un bichhier d'acqua?
    Ciao e grazie
    Luca

  2. #2
    Secondo me l'errore è alla line 173, ti sei scordato di chiudere le virgolette...

    Ma inserire uno sputo di codice per cercare l'errore?
    Roberto Pazzini

  3. #3
    Il codice sta di fatto nell'intervento di "standard".
    Non volevo riportarlo tutto.
    Non essendo un programmatore professionista ma "hobbystico" non ho potuto far altro che limitarmi a "copiare" il codice e a sistemarlo secondo le istruzioni di "standard".
    Una finestra popup si è aperta correttamente, all'interno è stato visualizzata altrettanto correttamente la mia pagina asp.
    La mia pagina, in pratica una form banalissima, come ho spiegato qui sopra lancia un'altra pag asp che mi sarei aspettato venisse eseguita ALL'INTERNO del popup...
    Invece...

    Comunque aggiungo il codice Ovvero il messaggio di "standard" dal quale sono partito.


    ""
    oK, ci sono. E' un po' macchinoso, ma è possibile, trasmettere dati dalla ShowModelessDialog alla pagina madre.
    Ti spiego facendoti un esempio, creerò una popup (crossbrowser), che rimane sempre in primo piano e nella quale è presente un bottone con cui è possibile settare il valore della barra di stato della pagina madre (era la cosa + semplice che mi veniva da fare).

    nella pagina madre:

    code:--------------------------------------------------------------------------------
    <SCRIPT type="text/javascript">

    var NN4=(document.layers)?1:0;
    var IE5=(document.all && document.getElementById)?1:0;
    var NN6=(document.getElementById && !document.all)?1:0;

    // definisci una variabile globale
    var datobox="";

    /* -------------------------------------------------------------
    Invia l'oggetto window come secondo parametro del metodo
    showModelessDialog. Questo permette di settare la variabile globale,
    datobox, definita nella pagina madre, e di ritornare
    informazioni dalla modeless dialog box.
    ---------------------------------------------------------------- */


    function primopiano(){
    if(NN4 || NN6)
    window.open("pagina.html","popup","alwaysRaised=ye s width=300 height=400")
    if(IE5)
    showModelessDialog("pagina.html",window,"dialogWid th:300px;dialogHeight:300px");
    }

    /* -------------------------------------------------------------
    definisci una funzione che sarà richiamata dalla modeless box,
    grazie al fatto che può accedere agli elementi dell'oggetto
    passato come suo secondo parametro
    ---------------------------------------------------------------- */


    function settastatus() {
    status = datobox
    }
    </SCRIPT>--------------------------------------------------------------------------------


    nella pagina di popup:


    code:--------------------------------------------------------------------------------
    <script type="text/javascript">
    var NN4=(document.layers)?1:0;
    var IE5=(document.all && document.getElementById)?1:0;
    var NN6=(document.getElementById && !document.all)?1:0;

    /* -------------------------------------------------------------
    Questa funzione fa uso della proprietà dialogArguments dell'oggetto
    window. dialogArguments permette alla variabile globale datobox
    di ritornare il valore alla finestra che l'ha chiamata.
    Per eseguire azioni di qualsiasi sorta sulla finestra madre, occorre richiamare,
    tramite la sintassi ad oggetto, funzioni definite nella stessa finestra madre
    ---------------------------------------------------------------- */

    function setta()
    {
    if(IE5) {
    var oggetto = dialogArguments;
    oggetto.datobox = "ciao";
    oggetto.settastatus();
    }
    if(NN4 || NN6)
    window.opener.status = "ciao";

    this.close()
    }

    </script>--------------------------------------------------------------------------------

    nella pagina di popup:

    <form>
    <input type="button" value="chiudi" onclick="setta();">
    </form>




    Cioè in sostanza, tutto sta nel passare window come secondo parametro della modeless box, e recuperarlo in questa con la proprietà dialogArguments.

    """"""""""""""


    E qui la mia pagina asp
    <form action="aggiornamento.asp" method="post" target="mywin">

    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <TR>
    <td colspan="2" align="center" bgcolor="#000080" class="bianco10px">PROGETTO MOSTRA PROVVISORIO
    COMUNICAZIONE VARIAZIONE</td>
    </TR>
    <TR>
    <TD class="blacklight10px" width="35%">
    Ufficio:</TD>
    <TD class="black10px">
    <input type="text" name="ufficio" class="black10px">
    </TD>
    </TR>

    <TR>
    <TD class="blacklight10px" width="35%">
    Campo da variare:</TD>
    <TD class="black10px">
    <input type="text" name="campo" class="black10px">
    </TD>
    </TR>
    <TR>
    <TD colspan="2" class="black10px">Nuovo contenuto/Commento/Variazione[/i]:</TD>
    </TR>
    <TR>
    <TD colspan="2" class="blacklight10px"><textarea cols="55" rows="5" class="blacklight10px" name="new_contenuto"></textarea></TD>
    </TR>
    <TR>
    <TD class="blacklight10px" width="35%"><input type="submit" name="Invia" value="Invia" class="black10px"></TD><TD class="black10px"><input type="reset" value="Reset" class="black10px"></TD>
    </TR>
    </TABLE>
    </form>

    Questa pagina (che è all'interno del popup) esegue aggiornamento.asp non all'interno della stessa finestra ma aprendone una terza.

    GRAZIE


  4. #4
    Per scrivere codice nei msg usa il tag CODE racchiuso tra parentesi quadre e otterrai questo risultato:

    codice:
    codice
    Roberto Pazzini

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.