Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165

    OnChange su Select con scroll da tastiera.

    Salve ragazzi,
    speriamo che a qualcuno venga un idea per risolvere sta cosa fresca fresca.

    Ho un evento onChange su una select che funziona perfettamente.
    Il problema è che se l'utente seleziona la select e la inizia a scorrere via keyboard (su e giù, ma anche PgUp e PgDown e altri...) l'evento OnChange si attiva appena perdo il focus dalla select.
    Ora, ai fini del submit del form ho testato che questo non sarebbe un problema perchè , nel caso selezionassi una voce diversa via tastiera sulla select e andassi a cliccare sul submit, il gestore degli eventi mi lancia la onChange sulla select prima del submit del form.

    Però io siccome sono uno fissato e lo voglio fare al meglio possibile mi chiedevo se c'era un modo che non sia quello di mettere un OnKeyPress associato alla select con tutta la gestione dei possibili pulsanti premuti che mi permetta di risolvere sto problema.

    Provando a mettere una cosa tipo "onkeypress=funzioneA onchange=funzione A" non ha risultato in quanto si, si lancerebbe la funzione a qualunque pressione di pulsante, ma il value della select non è aggiornato!

    Faccio un esempio :

    option A
    option B
    option C
    option D

    metto un onchange che mi funziona perfettamente se seleziono una opzione tramite mouse.Bene bravo bis.

    ma se, selezionata la select, mi muovo con la tastiera l'on change non parte.
    A questo punto partirebbe l' onkeypress che però si porta appresso il valore vecchio della select. (se stavo su C e premo la freccetta in su per andare a B l'onKeyPress si porta il value della select a C e non a B.)

    Spero di essere stato chiaro.
    Any ideas ?

  2. #2
    Non so se ho capito, cmq non è che il valore non sia aggiornato, è che usando l'evento onkeypress prima esegue la funzione e poi il comando associato alla key premuta.
    Cioè tipo, se premi PgUp, PRIMA viene eseguita la funzione e poi la select scorre verso l'alto.
    Se invece usi onkeydown succede il contrario, che è quello che intendevi tu credo. Il valore selezionato cmq è indipendente dagli eventi (a meno che con la funzione tu non agisca direttamente sulla select).
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    La silect si comporta in modo particolare... praticamente il suo stato e' controllato direttament dal sistema operatico e quindi restituisce il suo stato solo se il S.O. ha finito di controllarla.
    Questo fra l'altro impedisce di sapere quale option e' evidenziata in un dato istante (nonta bene evidenziata non e' lo stesso che selezionata) e quindi non consente fra l'altro alle singole option di poter gestire eventi o alt, title o tooltip vari.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    Grazie per le risposte, molto gentili.
    Alla fine anche con il onkeyDown il risultato è lo stesso.

    Ho lasciato perdere.

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.