Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757

    Finestra popup che non si chiude...

    Ciao...

    sono alle prese con un problema stupido che non riesco a risolvere:

    -Al momento in cui l'utente registrato richiede un accesso a pagine riservate del sito, se non è si precedentemente autenticato, si apre una finestra popup in cui inserire login e password;

    -Una volta inseriti i dati richiesti si accede, cliccando sul tasto "accedi", all'area riservata, ma nel browser rimane aperta (ridotta ad icona) la popup di login;

    -Sarebbe possibile al momento in cui si clicca sul pulsante "accedi" della popup, chiuderla definitivamente dopo qualche secondo?

    il form con i dati lo invio così:

    codice:
    <head>
    <script><!--
    function validate(theform) {
    
    if (theform.user.value == "") { 
    alert("Attenzione!\nNon è stato inserito nessun Nome Utente!.\nIl Nome Utente è obbligatorio in questo form."); 
    theform.user.focus(); 
    return false; 
    } 
    
    if (theform.codice.value == "") { 
    alert("Attenzione!\nNon è stato inserito nessun Codice!.\nIl Codice è obbligatorio in questo form."); 
    theform.codice.focus(); 
    return false; 
    } 
    
    // Abilita l'invio del FORM
      return(true);
      
    }
    
    // -->
    
        </script>
    </head>
    
    <form name="form1" method="post" action="convalida.asp" onSubmit="loadurl('convalida.asp');return false">
    <input type="hidden" name="referer" value="<%=strReferer%>">
    ma la popup non si chiude... rimane aperta...
    ed aggiungo che non fa più il controllo sui campi lasciati vuoti...

    dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    up

  3. #3
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    up

  4. #4
    Credo tu debba mettere un window.opener.close() nell'evento on load della pagina che la popup fa aprire.

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non vedo da nessuna parte istruzioni di chiusura... quindi ovvio che non si chiuda.

    <form name="form1" method="post" action="convalida.asp"
    onSubmit="return validate(this.form)">

    fatti restituire una pagina nella quale, se il controllo utente e' positivo, oltre al messaggio di benvenuto aggiungerai:

    <script>setTimeout('self.close()',3000)</script>

    ciao

    ps: non puoi usare pezzi di pagine di varia provenienza ed aspettarti che qualcosa funzioni... nello script usi form e campi che nella pagina non esistono, richiami funzioni che non hai definito...
    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
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Si hai ragione br1...
    Comunque non ho capito bene il tuo suggerimento...

    fatti restituire una pagina nella quale, se il controllo utente e' positivo, oltre al messaggio di benvenuto aggiungerai:

    <script>setTimeout('self.close()',3000)</script>
    Questa finestra in cui avviene il login utente rinvia direttamente alla pagina (se protetta) che si è richiesta dal menu principale.

    Devo inserire una terza pagina tra quella di lofin e la pagina a cui viene reindirizzato l'utente? :master:

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    dunque... l'utente chiede di aprire la pagina A; il server si accorge che l'utente non si e' loggato ed invia una pagina B che apre una popup di login con la pagina C; se l'utente viene riconosciuto la popup si deve chiudere e al posto della pagina B deve aprirsi la pagina A, ma se non viene riconosciuto (o se rinuncia) deve rimanere la popup aperta per un altro tentativo.

    Giusto?

    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

  8. #8
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Esattissimo.

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    <% '-- a.asp -------------------
    if session("user")="" then response.redirect "b.asp" 
    %>
    Benvenuto <%=session("user")
    codice:
    <% '-- b.asp -------------------
    %>
    <script>window.open("c.asp")</script>
    Non ti sei loggato ...
    codice:
    <% '-- c.asp -------------------
    ' controllo utente e password
    if request("user")="br1" and request("pass")="html.it" then
      session("user") = request("user")
    %>
    Utente e passoword OK
    <script>
    opener.location.href="A.asp";
    setTimeout("self.close()",1000);
    </script>
    <% 
    else 
    %>
    <form method="post">
    Utente <input type="text" name="user">
    
    Password <input type="password" name="pass">
    
    <input type="submit">
    </form>
    <%
    end if
    %>
    Scusa se ho semplificato troppo... a scopo didattico.

    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

  10. #10
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    grazie, provo e ti faccio sapere.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.