Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Abilitare TextBox a cascata

    Salve a tutti,
    nella mia form ho 4 textbox che vorrei fossero attivate a cascata, ovvero: se nella prima inserisco dei caratteri, la seconda si attiva, se nella seconda inserisco dei caratteri la terza si attiva e così via.

    Ho provato con codce javascript ma non mi riesce. Non so se esiste qualche controllo ajax per fare questa cosa! Cosa mi potete suggerire per procedere?

    Grazie a tutti.
    Igor
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  2. #2
    la strada giusta è proprio javascript....

    se ci fai vedere il codice, potremmo vedere dove sta un probabile errore.

    ciao

  3. #3
    Ciao, grazie per l'aiuto.
    Allora il problema con javascript fondamentalmente è questo: con le funzioni che ho scritto riesco nel mio intento, ma quando faccio il submit del mio form, passo alla pagina successiva e poi da questa torno nella pagina di partenza, i dati dentro le TextBox ci sono tutti, ma queste risultano disabilitate come se i dati non ci fossero.

    Mi spiego meglio con il codice che posto di seguito.

    Codice javascript

    codice:
    	    // Gestione attivazione TextBox
    	    //
            function SetButtonStatus2(sender, target2, target3, target4, maxcar) {
                if ( sender.value.length >= maxcar )
                    document.getElementById(target2).disabled = false;            
                else {
                    
                    if ( document.getElementById(target2).value.length > 0 ){
                        document.getElementById(target2).disabled = false;
                        }
                    else {
                        document.getElementById(target2).disabled = true;
                        document.getElementById(target2).value = '';
                    }
                    
                    document.getElementById(target3).disabled = true;
                    document.getElementById(target3).value = '';
                    document.getElementById(target4).disabled = true;
                    document.getElementById(target4).value = '';
                    }
                }
                
            function SetButtonStatus3(sender, target3, target4, maxcar) {
                if ( sender.value.length >= maxcar )
                    document.getElementById(target3).disabled = false;            
                else {
                    document.getElementById(target3).disabled = true;
                    document.getElementById(target3).value = '';
                    document.getElementById(target4).disabled = true;
                    document.getElementById(target4).value = '';
                    }
                }
                
            function SetButtonStatus4(sender, target4, maxcar) {
                if ( sender.value.length >= maxcar )
                    document.getElementById(target4).disabled = false;            
                else {
                    document.getElementById(target4).disabled = true;
                    document.getElementById(target4).value = '';
                    }
                }
    Pagina.aspx

    codice:
    <asp:TextBox ID="txtBCC_1" runat="server"
    	onkeyup="SetButtonStatus2(this, 'txtBCC_2', 'txtBCC_3', 'txtBCC_4', 4)"
    	MaxLength="4" Width="30px"></asp:TextBox>
    <asp:TextBox ID="txtBCC_2" runat="server"
    	onkeyup="SetButtonStatus3(this, 'txtBCC_3', 'txtBCC_4', 2)"
    	MaxLength="2" Width="20px"></asp:TextBox>
    <asp:TextBox ID="txtBCC_3" runat="server"
    	onkeyup="SetButtonStatus4(this, 'txtBCC_4', 2)"
    	MaxLength="2" Width="20px"></asp:TextBox>
    <asp:TextBox ID="txtBCC_4" runat="server"
    	MaxLength="3" Width="25px"></asp:TextBox>
    Dunque, se scrivo 4 caratteri nella prima TB, la seconda si attiva, se in questa ci scrivo 2 caratteri si attiva la seconda. Facendo il passaggio di pagine e tornando sulla prima, trovo che la prima TB è attivata, la seconda invece no anche se è valorizzata con i caratteri che ci ho messo.

    Ho provato a mettere all'evento "Load" delle TB una funzione javascript che ne cancellasse il contenuto, ma viene ignorata...

    Non so cos'altro fare, ecco perchè chiedevo un'alternativa al JS.

    GRAZIE MILLE.
    Igor
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  4. #4
    si, la strada giusta è proprio questa:
    mettere un javascript nel load della pagina.

    ma mi sorge una domanda:
    come ci torni nella prima pagina?
    Ci torni a fine procedura?
    Tu cosa vorresti vedere? Le textbox di nuovo vuote o con i valori precedenti?

  5. #5
    come ci torni nella prima pagina?
    Ci torno in due modi: con un javascript:history.back(); oppure con i tasti indietro del browser

    Ci torni a fine procedura?
    In che senso? Fine procedura della prima o della seconda pagina?

    Tu cosa vorresti vedere? Le textbox di nuovo vuote o con i valori precedenti?
    Vorrei, tornando indietro, ritrovare la sitiazione come l'ho lasciata. Quindi, ad esempio, se ho valorizzato la TextBox1 e la TextBox2 vorrei ritrovarle ABILITATE e con i dati da me inseriti. Cosa che con il mio codice non succede.

    Ho provato a mettere una funzione JS al Load del body che abilita le TextBox valorizzate, ma starnamente non si esegue quando TORNO INDIETRO alla pagina... è normale secondo te?
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  6. #6
    Originariamente inviato da Igor Baldacci
    Ci torno in due modi: con un javascript:history.back(); oppure con i tasti indietro del browser
    ok, capito.

    In che senso? Fine procedura della prima o della seconda pagina?
    Non so, dovresti spiegarmi la procedura.

    Vorrei, tornando indietro, ritrovare la sitiazione come l'ho lasciata. Quindi, ad esempio, se ho valorizzato la TextBox1 e la TextBox2 vorrei ritrovarle ABILITATE e con i dati da me inseriti. Cosa che con il mio codice non succede.
    Ok, capito, vuoi ritrovare la situazione precedente.

    Ho provato a mettere una funzione JS al Load del body che abilita le TextBox valorizzate, ma starnamente non si esegue quando TORNO INDIETRO alla pagina... è normale secondo te?
    No, non è normale. Dovrebbe funzionare!!!
    Ma come mai torni indietro nella procedura (che ancora non conosco)?
    Potresti valutare un postback invece di un history.back?
    Posta comunque il codice che hai messo nel Load

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.