Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54

    Form dipendente da un flag

    Buon giorno a tutti.
    Non riesco a creare un checkbox, se viene selezionata mi "compare" un campo dove l'utente può mettere una cifra. Se viene tolta la selezione il campo sparisce.
    pensavo con onclick (ma non so se sia giusto e come usarlo).
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    così? Ho usato jQuery
    Codice PHP:
    <html>
        <
    head>
        </
    head>
        <
    script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <body>
            <input type="checkbox" id="box" name="box" onclick="if(this.checked){$('#tNum').show();}else{$('#tNum').hide();}"/>  
            <input type="text" id="tNum" name="tNum" style="display: none;"/>
        </body>
    </html> 
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    Grazie mille! risposta celere!
    Provo subito.
    Posso chiederti come funzionano
    L'onclick e lo script?
    Codice PHP:
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    Scusa l'ignoranza, perchè vedendo così credo di capire che
    Codice PHP:
    {$('#tNum').show();}else{$('#tNum').hide();}"/ 
    In pratica gli dico l'id della variabile e la rendo visibile (show) o no (hide).
    lo script invece è per "aggiornare" la pagina al flag?
    Almeno imparo e non è solo un copia e incolla.
    Grazie

    ps funziona alla grande! Piccolo problemino,non so quale variabile usa e quanto assegna in caso di flag, perchè vorrei scrivere 2 paroline che compaiono, per far capire all'utente cosa inserire, ma solo nel caso flag selezionato. Pensavo a qualcosa tipo
    Codice PHP:
    if(tNum=="tNum"){echo "inserisca valore";} 

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    all'onclick viene richiamato lo script, che verifica se checked o no (this.checked). $('#tNum') seleziona l'elemento con id 'tNum', show e hide sono funzioni di jquery.

    Ti posto una versione migliorata e completa con i commenti... spero d'aver spiegato bene...

    Codice PHP:
    <html>
        <
    head>
        </
    head>
        <
    script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript">
            /* questa funzione filta i tasti premuti ammettendo solo i numeri */
            $.fn.NumericOnly = function(){
                return this.each(function()
                {
                    $(this).keydown(function(e)
                    {
                        var key = e.charCode || e.keyCode || 0;
                        return (
                            key == 8 || 
                            key == 9 ||
                            key == 46 ||
                            (key >= 37 && key <= 40) ||
                            (key >= 48 && key <= 57) ||
                            (key >= 96 && key <= 105));
                    });
                });
            };
            function check(el){
                if(el.checked){
                    /* *
                     * .val() -> inserisce un testo in #tNum 
                     * .NumericOnly() -> applica la funzione solo numeri
                     * .focus() chimama .select() e fa in modo che se #tNum ottiene il focus, venga selezionato tutto il contenuto
                     * fadeIn() e .fadeOut() sono come hide e show ma con effetto di fade
                     * */
                    $('#tNum').val("Insert a number").NumericOnly().focus(function(){
                        this.select();
                    }).fadeIn();
                }else{
                    $('#tNum').fadeOut();
                }
                return false;
            }
        </script>
        <body>
            <input type="checkbox" id="box" name="box" onclick="check(this);"/>  
            <input type="text" id="tNum" name="tNum" style="display: none;"/>
        </body>
    </html> 
    Per quanto riguarda jQueri, sul sito trovi la documentazione con una miriade di esempi d'uso e demo.
    Se ti servisse: http://docs.jquery.com/Main_Page
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    GRAZIE! Un po' in ritardo (pensavo di aver risposto,ma mi sa di aver sbagliato qualcosa )
    Gentilissimo, figo anche il fatto che controlli e faccia inserire solo numeri, sarebbe stato perfetto anche per me (purtroppo così non prende la virgola (o il punto) e mi serviva float, comunque sei stato gentilissimo in fondo non te lo avevo neanche chiesto ).
    Hai spiegato bene, non ho capito perchè l'uso delle funzioni?Quando si toglie-mette la spunta al flag non si aggiorna da sola la pagina?
    Pensavo di mettere quel insert a number di fianco e non dentro al form, posso mettere solo l'if?, qualcosa tipo:
    Codice PHP:
     if(el.checked){ 
                    echo
    "Inserite valore"
                    } 
    oppure devo metterlo nella funzione

    Codice PHP:
    function check(el){ 
    if(
    el.checked){ 
                    echo
    "Inserite valore"
                    } } 

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    No, non si aggiorna la pagina in javascript, è eseguito lato client, non fa richieste al server. Le funzioni non le puoi evitare...

    Prova questo, la validazione ora è sui float, ammette un solo punto, e il testo è di fianco

    Codice PHP:
    <html>
        <
    head>
        </
    head>
        <
    script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript">
            /* questa funzione filta i tasti premuti ammettendo solo i numeri */
            
            $(document).ready(function(){
                $('#tNum').val("0.0").FloatNumericOnly().focus(function(){
                    this.select();
                });
            });
            
            $.fn.FloatNumericOnly = function(){
                return this.each(function()
                {
                    $(this).keydown(function(e)
                    {
                        var dot = ($(this).val().indexOf('.')!=-1);
                        var len = ($(this).val().length);
                        var key = e.charCode || e.keyCode || 0;
                        return (
                        key == 8 || 
                            key == 9 ||
                            key == 46 ||                        
                            ((key == 190 || key == 110) && !dot && len > 0) ||
                            (key >= 37 && key <= 40) ||
                            (key >= 48 && key <= 57) ||
                            (key >= 96 && key <= 105));
                    });
                });
            };
            function check(el){
                if(el.checked){
                    /* *
                     * .val() -> inserisce un testo in #tNum 
                     * .NumericOnly() -> applica la funzione solo numeri
                     * .focus() chimama .select() e fa in modo che se #tNum ottiene il focus, venga selezionato tutto il contenuto
                     * fadeIn() e .fadeOut() sono come hide e show ma con effetto di fade
                     * */
                    $('#tNum').val("0.0")
                    $('#toshow').fadeIn();
                }else{
                    $('#toshow').fadeOut();
                }
                return false;
            }
        </script>
        <body>
            <input type="checkbox" id="box" name="box" onclick="check(this);"/>  
            <div id="toshow" style="display: none;"><input type="text" id="tNum" name="tNum"/><span id="message">Inserire un numero</span></div>
        </body>
    </html> 
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    Lo provo subito! Grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    Funziona perfettamente!! per usarne 2? Devo creare con un dupplicato di funzioni?
    Perdona la mia ignoranza

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    Ps Scusami se non ti ho detto subito che erano 2, ma non sapevo che ne servivano 2.
    Specifico 2 flag (indipendenti) con i rispettivi form dipendenti dal rispettivo flag.

    Flag 1 (se flag 1 attivo, allora mostra messaggio1 e campo 1)
    Flag 2 (se flag 2 attivo allora mostra messaggio2 e campo 2)

    messaggio 1 e 2 sono messaggi all'utente per far capire cosa inserire.

    Esattamente come ha fatto darkonme, ma 2 volte (mea culpa)

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    54
    Non c'è più bisogno, ci sono riuscito

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.