Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Focus controlli

  1. #1

    Focus controlli

    Buongiorno a tutti.

    Ho la necessità di selezionare un controllo all'evento di un altro controllo. Praticamente all'onClick di un pulsante mi dovrebbe fare il focus() di un altro pulsante.

    Ho provato a fare una funzione in javascript

    <script language="javascript">
    function SelezionaCampo(NomeCampo){
    document.forms[0].NomeCampo.focus();
    }
    </script>
    da richiamare all'onClick ma il controllo è lato server e .Net cerca una funzione nella pagina <nome_pagina>.aspx.vb e non in javascript.

    Ho provato anche ad includere questo codice all'interno del metodo nella pagina <nome_pagina>.aspx.vb ma non viene proprio calcolato.
    Page.RegisterStartupScript("test", "<s" + "cript language='javascript'>document.Form1.btnModificaEs ami.focus();</s" + "cript>")

    Mi sapete dare qualche suggerimento o dirmi dove sbaglio?

    grazie
    Robert

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    bene, all'evento dell'atro controllo lancia:
    document.getElementById("id_controllo").focus();
    Pietro

  3. #3
    Mi stai dicendo di scrivere questo?

    Page.RegisterStartupScript("test", "<s" + "cript language='javascript'>document.getElementById("id_ controllo").focus();<s" + "cript>")


    Ho provato ma non funziona.

    Roberto
    Robert

  4. #4
    Non so se ti può essere utile, ma prova a leggere questo:
    http://www.aspitalia.com/liste/usag/script.aspx?ID=579

    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da robertovv
    Mi stai dicendo di scrivere questo?

    Page.RegisterStartupScript("test", "<s" + "cript language='javascript'>document.getElementById("id_ controllo").focus();<s" + "cript>")


    Ho provato ma non funziona.

    Roberto
    Premesso che il consiglio di AndreaZani è ottimo, non ti ho consigliato quello che scrivi. RegisterStartupScript, lo utilizzo solo se non ne posso fare a meno, altrimenti uso javascrip dove ho sempre visto che si usa, ossia nel tag <head>. Oltretutto bisognerebbe vedere se sia proprio necessario il controllo server o se non basti solo un controllo html
    Pietro

  6. #6
    Forse non mi sono spiegato bene nel messaggio.

    Premetto che so quando si usa un controllo lato server e quando no.

    In questo caso io ho la necessità di effettuare una interrogazione al DB all'evento del bottone in questione. Dopo l'interrogazione mi viene restituita una DataTable che assegno ad un Datagrid.

    A questo punto vorrei che il programma mi visualizzasse il Datagrid appena modificato. Infatti, se non effettuo questo tipo di operazione, al postback della pagina ritorno naturalmente in cima alla pagina stessa creando così confusione all'utente.

    Il mio problema è questo.
    Se esiste un metodo alternativo a javascript per me va bene uguale.

    Spero mi possiate aiutare.
    Roberto
    Robert

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da robertovv
    Forse non mi sono spiegato bene nel messaggio.

    Premetto che so quando si usa un controllo lato server e quando no.

    In questo caso io ho la necessità di effettuare una interrogazione al DB all'evento del bottone in questione. Dopo l'interrogazione mi viene restituita una DataTable che assegno ad un Datagrid.

    A questo punto vorrei che il programma mi visualizzasse il Datagrid appena modificato. Infatti, se non effettuo questo tipo di operazione, al postback della pagina ritorno naturalmente in cima alla pagina stessa creando così confusione all'utente.

    Il mio problema è questo.
    Se esiste un metodo alternativo a javascript per me va bene uguale.

    Spero mi possiate aiutare.
    Roberto
    Non prendertela Se frequenti questo forum avrai pur visto che sono in tanti quelli che non sanno quando si debba usare un controllo lato server e quando no

    Nel tuo caso, credo di avere capito che tu vorresti preservare, non tanto il focus, ma la posizione della pagina tra un postback ed un altro.

    Per questo è stato progettato lo SmartNavigation. Metti SmartNavigation=true e prova.


    Lo SmartNavigation:
    1) elimina lo sfarfallio che si verifica quando la pagina viene caricata
    2)mantiene la posizione nel caso di pagine lunghe
    3)mantiene il fuoco di input tra più postback
    4)conserva solo lo stato dell'ultima pagina nella history del browser


    Questo è quello che dicono. Ma la realtà è un'altra . In alcuni casi, lo SmartNavigation ha l'abitudine di interferire con altri script lato client della pagina. Ossia, la pagina non funziona proprio come vorresti. Perciò, in questo caso bisogna fare tutto da se.

    Pietro

  8. #8
    Non me la sono presa.
    Questi problemi banali fanno sempre perdere un sacco di tempo e questo mi rende un pò nervoso...penso non succeda solo a me!!

    Ho provato SmartNavigation e fortunatamente funziona bene.

    ho letto che non è molto consigliato per i problemi che dicevi tu precedentemente ma per adesso penso possa andare bene.

    Leggevo che dipende anche dal browser e addirittura anche dalla versione di Internet Explorer. Cmq, se un domani dovesse dare problemi lo modifico.

    Non so come ringraziarVi.

    Siete grandi.
    A presto
    Roberto
    Robert

  9. #9
    Aggiungo solo che lo SmartNavigation presenta un problema più grave dopo quelli già detti da Pietro09: funziona solo con IE!

    Per ripristinare la posizione al postback puoi usare anche questa tecnica

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

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