html input "digits only" - älypuhelinyhteensopivuus ?

smart_html

html -kielessä voi määritellä formiin tekstikentän näin:

Puhelin:

Mutta, monessa (äly)puhelimessa on erikseen aakkostila ja numerotila.
JOS kerran kenttään phone_number on tarkoitus syöttää vain numeroita, olisi hyvä, jos kentän voisi määritellä niin, että ainakin fiksusti suunnitellut (äly)puhelimet osaisivat itse aktivoida "vain numeroita" -tilan, kun ko. kenttä on aktiivisena, eli sillä on ns. input focus.

Onko tähän olemassa jotain yleisesti hyväksyttyä standardia ?

Toki esim. javascriptillä voi yrittää estää kirjainten syöttämisen, mutta tällainen ratkaisu ei anna puhelimen selaimelle mitään vihjettä siitä, että kyseessä on vain numeroille tarkoitettu kenttä.

Toinen asia: testasin omalla älypuhelimellani (Sony Ericsson XPeria mini pro SK17i) omalla PC:lläni olevaa http -palvelinta, niin huomasin, että puhelimen tab -näppäin ei siirry seuraavaan kenttään html -formilla kuten sen pitäisi, vaan sen sijaan lisää TAB -merkin (ASCII 9) aktiiviseen kenttään !

Tätä pitäisin bugina puhelimen selaimessa, mutta kuinka yleinen tällainen bugi on muissakin puhelinselaimissa ? Entä, voiko tämän bugin kiertää jotenkin itse html -formilla ? Tunnistamalla JavScriptillä, kun kenttään yritetään syöttää TAB -merkkiä ja estää ko. merkin syöttö ja sensijaan aktivoida seuraava kenttä (tai edellinen kenttä, jos SHIFT on myös alhaalla) ?

Toki olisi hyvä, että html formin pitäisi edelleen olla yhteensopiva myös tietokoneen selaimien kanssa. Jollei sitten ole mahdollista tunnistaa palvelimella, onko vastapäässä älypuhelin vai tietokone, ja tarjota 2 eri versiota samasta sivusta sen mukaan.


------------------------------- VASTAUSOHJE: -------------------------------

(JOS vastaat tähän, ja vastauksesi siältää HTML -koodia, huomaathan, että kannattaa kirjoittaa vastaus tekstieditorilla, ja ennen tekstin copypastetusta tänne forumille toimia näin:

korvaa jokainen pienempi kuin -merkki merkkijonolla <
korvaa jokainen suurempi kuin -merkki merkkijonolla >

MUUSSA tapauksessa vastauksesi katkeaa ensimmäiseen pienempi kuin -merkkiin, syynä forumsoftan bugi.
)

1

132

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Tähän on ”käytännön standardi”, HTML5-kielen mukainen input-elementti, jossa ei ole type=”text” vaan type=”tel”. Toimii (jollain tapaa) aika monessa selaimessa. Ei sisällä tarkistuksia, vaan ne on syytä koodata erikseen, mieluiten HTML5-kielen pattern-määritteellä ja lisäksi vanhojen selainten takia JavaScriptillä (jossa voi käyttää pattern-määritteessä olevaa tietoa).

      Huom. rajoitukset puhelinnumeroiden muodolle voi asettaa tyhmästi tai erittäin tyhmästi. Ja myös fiksusti, mutta se vaatii sekä tietoa että ajattelua. Kohtalaisen fiksua on, että sallitaan välilyönnit ja yhdysmerkit (-) ja sulkeet mutta heitetään ne myöhemmin roskikseen. Ja alussa oleva plusmerkki ( ) on syytä sallia.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      40
      6983
    2. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      32
      3938
    3. Ei tämä etene ikinä

      Kun kumpikaan ei enää ota yhteyttä. Mä en ainakaan uskalla.
      Ikävä
      45
      3330
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      40
      2939
    5. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      17
      2716
    6. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      2238
    7. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      16
      2196
    8. Koko ajan olet

      Senkin suhteen kiusannut. Halut on ihan mielettömät olleet jo pitkään
      Ikävä
      41
      2143
    9. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      48
      2077
    10. Miksi et irrota otettasi

      Suhteeni?
      Ikävä
      40
      2048
    Aihe