Nefunkční time input v Opeře rubrika: Kódování: HTML

1 mottl.jakub.janov
položil/-a 26.11.2012
 
upravil/-a 26.11.2012

Zdravím

Nedávno jsem dělal jeden nový web a protože bude běžet ještě pár let beze změny, snažil jsem se používat nové technologie, jako jsou třeba nové typy inputů jako je date, search, tel, number atd...

Mám to hlídané validací pomocí javascriptu a ještě validací na serveru, takže tam stejně nejde zadat špatná hodnota.

Problém nastal u input type=time. V Chromu se mi zobrazí správně šipečky a pole je správně rozděleno na hodiny a minuty. Ve zbytku prohlížečů je to jen textové pole, což také nevadí.

Ne tak v Opeře. Prohlížeč si to správně naformátuje, zobrazí šipky, ale zrada přijde při pokusu změnit hodnotu vstupem z klávesnice. Ať tam člověk napíše z klávesnice cokoliv, když zmáčkne enter, je tam něco jiného. Myslel jsem, že jde jen o chybu na mé stránce, třeba problém s javascriptem, ale ono to nefunguje nikde! Dokonce ani na testovací stránce opery: http://devfiles.myopera.com/articles/4582/html5-forms-example.html

Je pravda, že jsem to zkoušel jen na mobilní verzi Opery, ale nemyslím si, že by to měl být rozdíl. Mě jde především stejně o tu mobilní verzi, z desktopu na ten web před Operu nikdo nechodí.

Zajímavé je, že jsem na netu nenašel k danému tématu skoro nic.

Nesetkal se s tím někdo? Nějaké nápady, co by se s tím dalo dělat?

odkaz
6 ic
odpověděl/-a 14.12.2012

Co na to říct no… Opera asi hraje roli nového IEčka. Jediná možnost asi jen čekat a doufat, že třeba podpora přijde v nové verzi.

Taky jsem potřeboval použít <input type="number"> pro zadání čísla faktury, které se skládá z tří číslic zvyšujících se s každou fakturou a čtyř číslic, které jsou číslem aktuálního roku. V takovém případě mi k ničemu nejsou šipky pro zvyšování, či snižování hodnoty, které prohlížeče k tomuto inputu přidávají automaticky (z faktury 1542012 se šipkama na 1552012 asi proklikávat nikdo nebude, stejně tak na 12013). Tak jsem chtěl pomocí CSS appearance: textfield (a prefixů samozřejmě) šipky vypnout (ale zachovat automatickou validaci čísel), fungovalo to všude… kromě Opary. Hledal jsem rady, jestli na to není nějaký workaround, ale nic… prostě jen čekat a doufat.

Tohle obávám se, bude stejné. Opera prostě zatím nechce nechat uživatele napsat si vlastní datum. V případě zadávání velkých rozdílů v letopočtech (události dávné historie) to musí být taky celkem peklo než se někdo dokliká (dojede) na rok 600 a podobné.

Komentáře

  • jaroslav.kubicek : Když nechcete mít u pole šipečky, pravděpodobně nechcete mít formulářové pole typu number ;) Zmiňují se o tom i v dokumentaci: http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#number-state-(type=number) jinak také můžete definovat atribut min třeba na hodnotu 2012 a to proklikávání už je hned lepší. Tvrdit, že Opera hraje roli nového IE je trochu moc v situaci, kdy Opera implementuje nejvíce novinek WebForms 2.0. 18.12.2012
  • ic : @jaroslav.kubicek No jak jsem psal, šipky chci, protože stojím o validaci typu číslo, ale šipky opravdu nechci, protože to proklikávání je tu jen na škodu. To co píšou v dokumentaci nebude platiti u všech hodně velkých čísel, které nejdou po sobě. Ten formát faktury čísloRok je na fakturách snad ten nejpoužívanější, neviděl jste ho nikde? min tady skutečně ničemu nepomůže, protože i tak šipky zvedají jen hodnotu poslední číslice, stejně tak step, či jiné atributy. Jediné, co pomůže je odstranit šipky. 18.12.2012

Pro zobrazení všech 3 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.