• User Attivo

    Input form con autofocus per smartphone

    Buona sera ragazzi,
    ho un problema con una pagina web che sto realizzando. La mia necessità è di avere su un campo numerico (input type="number") l'autofocus.
    Ho utilizzato JavaScript ed ho aggiunto queste righe di codice:
    [HTML]
    <script language="JavaScript">
    window.onload = function() {
    var input = document.getElementById("txtPrz").focus();
    }
    </script>
    [/HTML]

    Funziona bene, infatti dal browser vedo il cursore lampeggiante. Il mio problema, però, riguarda la navigazione da smartphone in quanto lì viene sono evidenziato il riquadro ma non viene aperta in automatico la tastiera. Ho fatto qualche ricerca ma tutti la aprono mediante un pulsante e non è quello che cerco (se devo pigiare qualcosa, tanto vale pigiare direttamente campo :D).

    E' fattibile? O vi sono "limitazioni" da questo punto di vista? :mmm:


  • User Attivo

    Ciao ZanOacen,
    potresti incollarci anche il codice HTML? :smile5:


  • Moderatore

    L'autofocus di un elemento ha proprio tale funzione. E' evidente che il browser utilizzato dallo smartphone, anche se è chrome o safari, non supporta tale funzione html5 o magari, se la sono persa in fase di programmazione 🙂 ( neanche la webapp di google funziona 🙂 )
    Ultimo consiglio:
    non utilizzare tale funzione con javascript che appesantisci la pagina. Utilizza la marcatura html5 corretta: <input class="" name="" value="" autofocus />


  • User Attivo

    @JACKO'S WEBSOLUTIONS said:

    Ciao ZanOacen,
    potresti incollarci anche il codice HTML? :smile5:

    Certo, il codice è il seguente:
    [HTML]
    <input name="txtPrz" id="txtPrz" style="height: 50px; font-size: x-large;" class="form-control" type="number" min="0" step="0.01" value="0"><br>
    [/HTML]

    @Ultima said:

    L'autofocus di un elemento ha proprio tale funzione. E' evidente che il browser utilizzato dallo smartphone, anche se è chrome o safari, non supporta tale funzione html5 o magari, se la sono persa in fase di programmazione 🙂 ( neanche la webapp di google funziona 🙂 )
    Ultimo consiglio:
    non utilizzare tale funzione con javascript che appesantisci la pagina. Utilizza la marcatura html5 corretta: <input class="" name="" value="" autofocus />

    Avevo optato per Javascript proprio per ovviare alla mancata compatibilità del tag HTML5 (su diversi smartphone su cui ho provato).


  • Moderatore

    Avevo optato per Javascript proprio per ovviare alla mancata compatibilità del tag HTML5 (su diversi smartphone su cui ho provato).

    I browser degli smartphone, a differenza dei browser desktop o laptop, sono tutti in full HTML5. Ti basti pensare che l'HTML5 è nato appositamente quasi per questo unico motivo.


  • User Attivo

    @Ultima said:

    I browser degli smartphone, a differenza dei browser desktop o laptop, sono tutti in full HTML5. Ti basti pensare che l'HTML5 è nato appositamente quasi per questo unico motivo.

    Il mio problema non è tanto dargli il fuoco, cosa che ho risolto con JS (l'applicazione web non è solo per smartphone) ma far sì che si apra anche la tastiera.


  • User Attivo

    Ciao Zan,
    solitamente la tastiera dovrebbe aprirsi in automatico.. :mmm:


  • Moderatore

    @JACKO'S WEBSOLUTIONS said:

    Ciao Zan,
    solitamente la tastiera dovrebbe aprirsi in automatico.. :mmm:
    No non credo.
    Ciao Jacko's e ciao ZenOcean,
    ho fatto numerose ricerche in inglese e l'unica cosa che salta fuori è come far aprire la tastiera o Soft Keyboards durante il processo di creazione di un'app, quindi in JAVA, inserendo parametri che richiamano la tastiera dal device.
    A questo punto io dubito fortemente che esista tale funzione da apporre in JS o HTML.
    So per certo, che javascript non ha nessuna funzione in merito che impone al Device, dal suo browser di far aprire la tastiera.
    In HTML neanche a parlarne.

    Poi vorrei farti notare che appesantire una pagina con un js per gestire l'autofocus non è proprio l'idea migliore, quando esiste un markup adatto e che viene riconosciuto dalla maggior parte dei Browser in circolazione. Esiste Anche IE7 e IE6, ma io, da programmatore comincio un po' a sbattermene 😉


  • User Attivo

    @Ultima said:

    No non credo.
    Ciao Jacko's e ciao ZenOcean,
    ho fatto numerose ricerche in inglese e l'unica cosa che salta fuori è come far aprire la tastiera o Soft Keyboards durante il processo di creazione di un'app, quindi in JAVA, inserendo parametri che richiamano la tastiera dal device.
    A questo punto io dubito fortemente che esista tale funzione da apporre in JS o HTML.
    So per certo, che javascript non ha nessuna funzione in merito che impone al Device, dal suo browser di far aprire la tastiera.
    In HTML neanche a parlarne.

    Poi vorrei farti notare che appesantire una pagina con un js per gestire l'autofocus non è proprio l'idea migliore, quando esiste un markup adatto e che viene riconosciuto dalla maggior parte dei Browser in circolazione. Esiste Anche IE7 e IE6, ma io, da programmatore comincio un po' a sbattermene 😉

    Ti ringrazio per il tuo aiuto. Avevo fatto anche io qualche ricerca ma senza risultato, per questo ho chiesto qui. So bene che l'utilizzo di JS non è l'ideale, avevo tentato questa strada per mostrare la tastiera ma visto che non funziona utilizzo direttamente il tag che mi hai indicato.