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

Discussione: intercettare enter

  1. #1

    intercettare enter

    Ciao a tutti, ho un problemino che vorrei sottoporvi:

    Ho la necessità di intercettare il tasto enter all'interno di una casella di testo, ho provato a utilizzare questo codice:

    <script type="text/javascript">
    window.onload=function(){
    document.form2.onkeypress = prova;
    }
    function prova()
    {
    var tasto = window.event.keyCode;
    if (tasto == 13)
    {
    document.form1.T1.value = "enter";
    }
    }
    </script>
    <FORM name="form1" METHOD="POST" style="padding: 0">



    <input type="text" name="T1" size="20"> form 1</p>
    </form>
    <FORM name="form2" METHOD="POST" style="padding: 0">


    <input type="text" name="T1" size="20">form 2</p>
    </form>


    Come potete immaginare non funziona.... allora o provato quest'altro codice ma mi legge tutti i tasti tranne quello dell'ENTER.

    window.onload=function(){
    document.form2.onkeypress = prova;
    }

    function prova()
    {
    var tasto = window.event.keyCode;
    document.form1.T1.value = tasto;
    }


    Aiutoooooooooooo
    Ciauz
    Marco

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    583
    Non so se sia possibile rilevare in una text-box la pressione del tasto enter.

    <body onKeyDown="javascript:if(event.keyCode == 13) miasub();">

    Così rilevi l'evento e poi vai ad una function o sub o dove ti pare.
    rudyF

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova questo

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <script type="text/javascript"> 
    window.onload=function(){ 
    document.form2.onkeypress = prova; 
    } 
    
    function prova() { 
     var tasto = window.event.keyCode; 
     if (tasto == 13) { 
     document.form1.T1.value = "enter"; 
     return false;
     } 
     return true;
    } 
    </script> 
    <FORM name="form1" METHOD="POST" style="padding: 0"> 
    
    
     
    <input type="text" name="T1" size="20"> form 1</p> 
    </form> 
    <FORM name="form2" METHOD="POST" style="padding: 0">
    
     
    <input type="text" name="T1" size="20">form 2</p> 
    </form> 
    
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Ciao, grazie per l'aiuto.
    Ho provato tutte e due le soluzioni ma sembra non funzionino ( se non sono io che faccio casino :master: ).

    Ciauz
    Marco

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Nel mio esempio se digiti qualcosa nel secondo text box che schiacci Invio allora compare la scritta "enter" ne primo text box.

    Non è quello che volevi ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    583
    L'istruzione che ti ho suggerito intercetta la pressione del tasto "enter" e ti manda alla sub "miasub"
    Lì decidi tu come proseguire.
    La cosa funziona. Io l'ho usata parecchio qui (vedi "Matematica")
    Anche se gli script sono in VBScript, il succo è quello
    rudyF

  7. #7
    Ciao, sono riuscito con il suggerimento di rudif mentre con il codice di badaze.... non ci riesco , ora non mi resta che capire come spostare il focus su un'altra casella di testo.
    Grazie a tutte e due.
    Ciauz
    Marco

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da rosmarc
    Ciao, sono riuscito con il suggerimento di rudif mentre con il codice di badaze.... non ci riesco , ora non mi resta che capire come spostare il focus su un'altra casella di testo.
    Grazie a tutte e due.
    Ciauz
    Marco
    Ma c'è una cosa che continuo a non capire.

    Cosa volevi fare ????

    Ho ripreso il tuo codice e aggiunto dei return per confermare si o no il tasto premuto.

    Se digiti qualcosa sulla seconda testo box e che schiacci enter allora il primo text box prende il valore enter.
    Non è questo che vuoi ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Ciao Badaze,(inquietante il tuo avatar ), si è quello che volevo fare (in realtà ci sono altre caselle di testo) non mi chiedere perchè non riesco con le tue modifice, non lo so. Come dicevo nel post precedente, sicuramente sbaglio io, ma non so dove.
    Ciauz e grazie ancora.
    Marco

  10. #10
    Rettifico e ti chiedo scusa, sono riuscito a farlo funzionare. Nell'anteprima di frontpage non andava ma provando ad aprire la pagina con explorer.. tutto OK.

    Allora ne approfitto per la la seconda questions: mi sai dire come spostare il focus da una casella di testo ad un'altra? chiaramente dopo l'uso di enter.

    Grazieeeeeeeeee
    Marco

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.