Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14
  1. #11
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Quote Originariamente inviata da ciupaz
    Sarebbero sintatticamente corrette scritte in questo modo?
    Sembrerebbe di sì, almeno in teoria.

    Ad ogni modo controlla anche nella console del browser che non salti fuori qualche errore di script quando viene eseguita la funzione.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  2. #12
    Utente di HTML.it L'avatar di ciupaz
    Registrato dal
    Dec 2000
    residenza
    Milano
    Messaggi
    848
    Ho provato le altre 2 soluzioni. Purtroppo si verifica sempre lo stesso problema: il popup si apre, ma poi si richiude dopo un paio di secondi.
    Sulla pagina del <dialog> ci sono un paio di esempi, ma nessuno che contenga una funzione Javascript da richiamare al clic del pulsante come nel mio caso.
    Ultima modifica di ciupaz; 07-10-2022 a 10:33

  3. #13
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Quote Originariamente inviata da ciupaz
    Sulla pagina del <dialog> ci sono un paio di esempi
    Se intendi questa pagina live demo, gli esempi fanno più o meno ciò che hai tu.
    Qui lo script del codice sorgente:
    codice:
    //using yield
    document.getElementById('button1').addEventListener('click', function() {
      spawn(function*() {
        var ret = yield window.showModalDialog("demo-modal.html", "some argument", "dialogWidth:500px;dialogHeight:200px");
        document.getElementById('result1').innerText = "Returned from modal: " + ret;
      });
    });
     //using async/await
    document.getElementById('button2').addEventListener('click', async function() {
      var ret = await window.showModalDialog("demo-modal.html", "some argument", "dialogWidth:500px;dialogHeight:200px");
      document.getElementById('result2').innerText = "Returned from modal: " + ret;
    });
    //using eval
    document.getElementById('button3').addEventListener('click', function() {
      var ret = window.showModalDialog("demo-modal.html", "some argument", "dialogWidth:500px;dialogHeight:200px");
      document.getElementById('result3').innerText = "Returned from modal: " + ret;
    });
    Il click è applicato con addEventListener ma è equiparabile all'uso del metodo o attributo onclick, come nel tuo caso.
    La funzione applicata all'evento è anonima ma è equiparabile all'uso di una funzione nominata, come nel tuo caso.

    A mio parere il tuo click richiama perfettamente quella funzione e apre correttamente il modal, tant'è che la pagina esterna viene aperta, da quel che hai indicato. A questo punto il problema è relativo forse a qualcosa che sta nella pagina esterna

    Senza poter verificare direttamente, mi viene difficile capire cosa sta andando storto, ma puoi fare tu qualche verifica.

    Contralla intanto che nella console del tuo browser (F12 per aprirla) non salti fuori qualche errore di script, in particolare dopo che clicchi per aprire la pagina.

    Se non ci sono errori puoi verificare cosa viene restituito alla tua variabile result, dato che il sistema resta in attesa finché quella variabile non viene valorizzata. Per cui, dopo la riga della variabile result e prima della condizione, puoi mettere un log in questo modo:
    codice:
    console.log('risposta:', result);
    Con la console aperta, verifica quindi quando viene eseguito questo log e cosa ti restituisce.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #14
    Utente di HTML.it L'avatar di ciupaz
    Registrato dal
    Dec 2000
    residenza
    Milano
    Messaggi
    848
    La pagina che viene aperta dal popup e' questa:

    codice:
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="search_pharmacy.aspx.vb"
        Inherits="CMS.search_pharmacy" %>
    
    
    <%@ Register Src="PharmacySearch.ascx" TagName="PharmacySearch" TagPrefix="uc2" %>
    <html>
    <head>
        <title>Utenti in attesa di convalida.</title>
        <meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
        <link href="../style/style.css" type="text/css" rel="stylesheet">
       
        <base target="_self">
        
    </head>
    <body topmargin="0">
        <form id="Form1" runat="server">
            <uc2:PharmacySearch id="PharmacySearch1" runat="server">
            </uc2:PharmacySearch>
        
        </form>
    </body>
    </html>
    e lo userControl richiamato e' una tabella HTML che inizia con queste righe:


    codice:
    <%@ Control Language="vb" AutoEventWireup="false" Codebehind="PharmacySearch.ascx.vb"
        Inherits="CMS.PharmacySearch" %>
        <script>
         function Seleziona(value)
            {
                if (window.farmaciaSelezionata)
                {
                    window.farmaciaSelezionata(value);
                }
                
                if (window.dialogArguments)
                {
                    window.returnValue=value;
                    window.close();    
                }
                
            }    
        </script>
    Dalla Console di F12 non compare nulla di errore, e si richiude subito, non appena scompare il popup.

Tag per questa discussione

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.