2011-09-15 2 views
13

I asked some usability experts su un rotating cube form creato. Hanno correttamente sottolineato che quando la faccia del cubo con le caselle di testo non è visibile, non registrano alcun input.Registrazione dell'input da modulo invisibile

Ciò significa che quando il cubo gira intorno e l'utente sta ancora digitando, registra solo ciò che l'utente ha digitato mentre era ancora visibile. Questo è chiaramente qualcosa che devo risolvere.

Una faccia di un cubo è nascosta dinamicamente con la regola css display: none, quindi visualizzata di nuovo con display: block.

È possibile creare un input di registro casella di testo quando si trova all'interno di un div che ha display: none? Devo nasconderlo in un altro modo in modo che registri l'input?

risposta

7

È possibile utilizzare qualcosa come position: absolute; left: -2000px per nasconderlo fuori dallo schermo ma è comunque possibile accettare input. Questo ha il vantaggio aggiuntivo che l'elemento sia ancora "lì" - qualcuno può inserirvi, gli screen reader possono ancora dire che è lì, piuttosto che "It's gone".

+0

sembra un po 'hacky (Mi piace), ma dovrebbe funzionare!. –

+1

Sareste sorpresi di quanto spesso un elemento è fuori campo rispetto a 'display: none'd. In pratica è una soluzione decisamente migliore per qualcosa di simile, anche se sembra un po 'arretrato. – Joe

+0

Funziona, grazie! –

8

opacity: 0.1; è tuo amico;)