Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523

    Settare il focus in un asp:textbox

    Ciao ragazzi,
    ho un problema nella realizzazione di un sito.
    Utilizzo visual studio .net come ambiente di sviluppo.
    La pagina in questione ha diversi iframe. Il quello centrale
    ci sono 2 asp:textbox per l'inserimento di password ed userid.
    Mi piacerebbe che il textbox dell'userid abbia il focus al momento dell'accesso a questo iframe centrale.
    Ho provato a gestire i tabindex.. senza successo!
    Ho provato (come mi era stato suggerito) di usare .focus.. ma non mi funziona...
    Il mio dubbio è: non è che innanzi tutto il focus ce l'ha un altro iframe.. in quello centrale che interessa a me, il asp:textbox dello userid ha tabindex=0.. boo non capisco!

    Chiedo scusa al moderatore se ritiene che questo 3d andava collocato nel forum di html.. ma non sapevo valutarlo: l'oggetto che uso è un asp:textbox..

    Grazie 1000
    Gugu
    Ciao
    Andrea

  2. #2
    basta gestire l'evento client (col javascript) OnLoad. Nel dettaglio devi aggiungere al tag <body> della pagina caricata nel frame: onLoad="javascript:document.nomeoggetto.User.focus ()" dove nomeoggetto è l'id che hai associato alla TextBox (o quello che è)

  3. #3
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Sarà... però non mi funziona!!
    Ti posto il codice, dato che nella stessa pagina, all'evento onload ho già un altra funziona allegata:

    --------------------------------------------------------------------
    <script id="clientEventHandlersJS" language="javascript">
    <!--
    function window_onload() {
    if(self.name == top.name){
    location.href = "default.aspx"
    }
    document.txtNomeUtente.User.focus()
    }
    //-->
    </script>
    <body onLoad="return window_onload()" background="Grafica\LoginPage.jpg" language="javascript">

    <asp:TextBox id="txtNomeUtente" runat="server"></asp:TextBox>
    --------------------------------------------------------------------

    L'errore che mi restituisce è:
    document.txtNomeUtente.User è nullo o non è un oggetto.

    Non so se centra qualcosa, ma ti ricordo che uso vs.net

    Stò impazzendo!!
    Ho provato a cambiare la stringa che mi hai consigliato.. tipo togliendo "User"... che non ho capito cosa significa.. ma senza risultato.


    Tra le altre cose, spesso utilizzo l'aiuto che vs.net ti da nello scrivere codice, ma se ad esempio scrivo document. non mi propone i textbox asp che sono nella pagina!
    Booooo!

    Grazie
    Ciao
    Andrea

  4. #4
    Colpa mia che quando ti ho risposto dormivo (ma erano le 2 di notte)... Allora:
    document.nomeform.nomecampo.focus() dove nomeform è il nome del form che contiene il campo da tracciare (se non gli hai dato un nome fallo aggiungendo id="..." al tag <form>) e nomecampo è il nome del TextBox.
    Per quando riguarda VisualStudio, questo non è Vb o C# ed il server non c'entra nulla, è JavaScript ed i suoi comandi (come Document), non vengono suggeriti dall'Intellisense.
    Scusa ancora se ti ho fatto perdere tempo!

  5. #5
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Scusarti????
    Ma secondo te!!
    Ti pare.. sai quanto tempo perdevo io se non mi rispondevi??

    Anzi, ti ringrazio tamtissimo!
    Hai fatto bingo.

    Ora funziona bene, anche se forse avrei un'altra domanda da farti, a questo punto (mi hai dato la mano.. adesso ti prendo li braccio!).
    Ho provato a gestire i tab consecutivi.. ovviamente senza successo!
    Pensavo che col tabindex risolvevo il problema!
    Addirittura ho provato a mettere il tabindex di tutti gli altri oggetti a -1.. una scemata? Nel tabindex di quello di defaut, quello che mi hai attivato tu, homesso zero. In quello che vorrei che funzionasse come secondo ho messo 1. Che genio, dirai... però non funzia!! Io conosco bene vb6 e lì è tutto più facile!

    GRAZIE 1000
    Ciao
    Andrea

  6. #6
    Eppure deve funzionare... il TabIndex può essere aggiunto a qualsiasi parte della pagina normalmente soggetta a tabulazione...
    hai fatto anche bene a settare ciò che non vuoi sia selezionato con -1, è proprio così che si fa. Riprova aggiungendo TabIndex="..." a tutti (ma proprio tutti) gli elementi della pagina, iniziando però con indice 1. Ricorda che in una webpage anche un frame (se stai usando un frameset html) o l'intera pagina puo essere selezionata, quindi aggiungi il TabIndex anche al tag <body>.
    Tieni inoltre presenta che funziona solo ed esclusivamente con MISE versioni 4.0 o successive (quindi niente Navigator, Opera o quant'altro).

  7. #7
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Allora dev'essere per il fatto che ho tutti gli iframe e menu vari a 0 come tabindex (quello di default), quindi.. ok, ora proverò a mettere a -1 tutto ciò che non mi interessa e con numeri progressivi il resto.. sono ottimista! ....ma non come quelli della publicità.. che è insopportabile!!
    Grazie ancora.. poi ti dico.

    Ciao
    Gugu
    Ciao
    Andrea

  8. #8
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Ti confermo che sistemando TUTTI i tabindex è andato tutto a posto!
    Ti ringrazio ancora.

    Ciao ciao
    Gugu
    Ciao
    Andrea

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.