Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: disabilitare pulsante

  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584

    disabilitare pulsante

    salve a tutti

    da un pulsnte dovrei richiamare una dll che fa una miriade di operazioni, le quali a volte durano anche 20 minuti e nella schermata pare non succedere niente,
    in questo modo l'utente puo' benissimo pensato di non aver spinto bene! e ripetere l'operazioni(con seri rischi)

    a questo proposito ho pensato bene che al click, metto una label con "operazione in corso..." e disbilito il pulsante, ma purtroppo non succede niente..ecco il codice:

    codice:
            Page.RegisterStartupScript("disabilita", "<script>Form1.CMD_ImportaAccess.disabled=true;</script>")
    
            Me.CMD_ImportaAccess.Enabled = False
    ho cercato di mettere un javascript e impostare il disabilitato anche tramite codice..ma purtroppo metnre fa le operazioni il pulsante è sempre abilitato...
    c'è qualche altra soluzione?
    grazie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    che tocca vedere al giorno d'oggi

    tutto perchè sembra bello e buono usare Page.RegisterStartupScript, magari in c# quando invece con html si farebbe prima, meglio e funzionante.

    Come lo hai fatto te, funziona, ma vedi i risultati, dopo venti menuti :maLOL:

    prova a fare dal clientpseudo codice)

    pulsante.disabled = true;
    pulsante.click();
    Pietro

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    si disabilita dopo venti minuti.

    forse questo ti può aiutare ???.

  4. #4
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    Originariamente inviato da pietro09
    che tocca vedere al giorno d'oggi

    tutto perchè sembra bello e buono usare Page.RegisterStartupScript, magari in c# quando invece con html si farebbe prima, meglio e funzionante.

    Come lo hai fatto te, funziona, ma vedi i risultati, dopo venti menuti :maLOL:

    prova a fare dal clientpseudo codice)

    pulsante.disabled = true;
    pulsante.click();
    ecco
    ora ho messo un javascript :

    CMD_ImportaAccess.Attributes.Add("onclick", "Conferma();")

    ma quando faccio click sul pulsante mi disabilita, e non avvia la procedura!!!
    come posso fare per disabilitarlo ed avviare anche la procedura inerente alla sub cmd_imoprtaaccess.click?

    grazie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    questo è solo un piccolo esempio di un metodo che dura 10 secondi nel server.
    Per tempi più lunghi si devono usare i processi asincroni (con ajax è meglio)
    codice:
    <%@ Page Language="VB" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
    	Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    		MetodoLento()
    		Me.Label1.Text = "Operazione conclusa"
    	End Sub
    	
    	Private Sub MetodoLento()
    		'simulo una operazione che dura 10 secondi
    		System.Threading.Thread.Sleep(10 * 1000)
    	End Sub
    	
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
    		<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="this.disabled=true;document.getElementById('Label1').innerHTML = 'Operazione in corso, prego attendere...';" UseSubmitBehavior="False" />
    
    		
    
    		<asp:Label ID="Label1" runat="server"></asp:Label></div>
        </form>
    </body>
    </html>
    Pietro

  6. #6
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    provo ad indovinare....
    stai usando vb.net 2005 vero?

    lo dico in quanto io nn ho l'evento onclientclick nel mio pulsante!

    io sto usando vb.net 2003

    cmq grazie del suggerimento
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="b.aspx.vb" Inherits="corso_apogeo.b2"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    	<HEAD>
    		<title>b</title>
    		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    		<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
    		<meta name="vs_defaultClientScript" content="JavaScript">
    		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    	</HEAD>
    	<body MS_POSITIONING="FlowLayout">
    		<form id="Form1" method="post" runat="server">
    			
    
    <INPUT type="button" value="Button" id="Button1" name="Button1" runat="server"></P>
    			
    
    <asp:Label id="Label1" runat="server"></asp:Label></P>
    		</form>
    	</body>
    </HTML>
    codice:
        Private Sub Button1_ServerClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ServerClick
            MetodoLento()
            Me.Label1.Text = "Operazione conclusa"
        End Sub
    
        Private Sub Button1_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Init
            Dim btn As HtmlInputButton = DirectCast(sender, HtmlInputButton)
            btn.Attributes.Add("onclick", "this.disabled=true;document.getElementById('Label1').innerHTML = 'Operazione in corso, prego attendere...';")
        End Sub
    
        Private Sub MetodoLento()
            'simulo una operazione che dura 10 secondi
            System.Threading.Thread.Sleep(10 * 1000)
        End Sub
    Pietro

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    se abbiamo un <asp:Button***

    codice:
        Private Sub Button2_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Init
            Dim frm As HtmlForm = GetForm(Me)
            frm.Attributes.Add("onsubmit", "window.setTimeout(function(){document.getElementById('Button2').disabled=true;document.getElementById('Label1').innerHTML = 'Operazione in corso, prego attendere...';}, 0);")
        End Sub
    
        Public Function GetForm(ByVal This As Page, Optional ByVal NomeForm$ = "Form1") As HtmlForm
            Return CType(This.FindControl("Form1"), HtmlForm)
        End Function
    Pietro

  9. #9
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    ho provato il tuo codice

    mi spiace ma non va ancora
    ho notato che funziona il fatto di validare la label e disabilitarei l pulsante (fiuuuuh grazieper questo)

    ma se disabilito il pulsante poi non mi esegue le istruzioni nel server->CMD_ImportaAccess_Click(ByVal sender As System.Object......

    ora mi serve solo avviare la routine click sul server,
    grazie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    mi dispiace, ma non capisco. Ho fatto una paginetta con vs2003 e vedo che funziona perfettamente. Il pulsante, al click si disabilita, fa il submit, lancia l'evento server e, al ritorno, dà il messaggio di riuscita.

    di più non so
    Pietro

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.