2014-09-01 4 views
11

Quindi ho un modulo di accesso HTML con due campi: Email e Password. Questi possono essere riempiti facilmente sul browser di qualsiasi dispositivo diversi dai dispositivi IOS (iPhone, iPad). Sui campi IOS difficilmente può essere messo a fuoco e una volta messo a fuoco, la tastiera si apre, inizio a digitare ma non viene effettivamente riempito nulla. Ho provato sia in Chrome che in Safari e ottengo lo stesso risultato. Il campo rimane nero. Bellow è come la mia forma è formattata:Problemi relativi ai dispositivi IOS con l'input del modulo HTML (tipo = testo)

<form method="post" name="login" action="login"> 
    <div class="divInputWrapper "> 
     <i class="icon-envelope inputIcon inlineElt"></i> 
     <label for="email"></label> 
     <input type="text" name="email" placeholder="Enter your email address" class="formInput"/> 
    </div> 
    <div class="divInputWrapper "> 
     <i class="icon-envelope inputIcon inlineElt"></i> 
     <label for="password"></label> 
     <input type="password" name="password" class="formInput"/> 
    </div> 
    <button class="blue centeredContent">Login</button> 
</form> 

Ho provato ad aggiungere un attributo autofocus, preselezionare un valore e sempre lo stesso.

+0

hai qualche css/js esterni in esecuzione? – DickieBoy

+0

La classe formInput ha stili dispari? come impostare il colore e il colore di sfondo sullo stesso valore? per esempio. Non c'è nulla di tecnicamente sbagliato nel codice di esempio ... quindi dovrebbe funzionare. – scunliffe

+0

Non penso che non possiamo inserire il testo in una casella di testo in ios congegni. I ragazzi di Apple non sono così stupidi. Ci sono molti progetti con moduli in cui le persone possono inserire testo nei dispositivi iOS. È ovvio che il problema è qualcosa di specifico per il tuo progetto. come js, css ecc. che non hai fornito. –

risposta

39

Trovato il problema, è un reset del foglio di stile che ho trovato online per aiutare con il comportamento dei dispositivi touch per quando l'utente tocca/tiene premuto un elemento e l'ho copiato su gran parte dei miei progetti. Quindi, se avete questo problema, è molto probabile che si dispone di queste linee nel CSS:

*, *:before, *:after { 
     -webkit-user-select: none; 
     -khtml-user-select: none; 
     -moz-user-select: none; 
     -ms-user-select: none; 
     user-select: none; 
    } 

Quindi basta rimuoverlo o impostarlo di default. E se la vostra intenzione è quella di impedire alla gente di selezione roba sul tuo sito web, quindi assicurarsi di reimpostare questa struttura in stile di default sul ingressi

input, input:before, input:after { 
     -webkit-user-select: initial; 
     -khtml-user-select: initial; 
     -moz-user-select: initial; 
     -ms-user-select: initial; 
     user-select: initial; 
    } 
+0

Eccellente, ho cercato a lungo e duramente per questo, stavo facendo il debug e completamente confuso. Grazie per questo. In realtà ho finito con questi stili da un'importazione che ho fatto dai file di bootstrap in meno, ma ho gli stili di base uguali per i miei input e pulsanti, quindi i CSS per l'aiuto con i pulsanti sono stati applicati ai miei input. – gdgr

+1

I ' avendo lo stesso problema e la soluzione di cui sopra non sembra funzionare. – Ben

+0

Oh grazie. È davvero difficile eseguirne il debug. Ho pensato che fosse su parte javascript perché sto usando angolare. L'input può accettare solo un carattere e sembra perso il focus mentre in realtà non lo è. – dieend

Problemi correlati