Autor Zpráva
peter_r
Profil
prosím o radu, Mysql a PHP

vo formulári sa mi nedá napísať číslo s desatinnou čiarkou, napr. chcem napísať 12,5, keď dám odoslať tak napíše mi Zadajte platnú hodnotu, najbližšie hodnoty sú 12 a 13.

musím napísať číslo s bodkou, 12.5 vtedy to akceptuje

<input type="number" name="hods" value="<?= htmlspecialchars($clanek['hods']) ?>

a v databáze mám na tento stĺpec nastavený typ DECIMAL a dĺžka 10,1

Kde mám chybu? Ďakujem.


peter_r:
a keď input type dám text, tak chybu nenapíše ale zoberie číslo 12.0
Keeehi
Profil
Myslím že motáš více věcí dohromady. Pro oddělování desetinných míst se používá tečka. To jenom čeština by ráda používala čárku. Máš dvě možnosti. Smíříš se s tečkou a pak by do toho inputu bylo asi dobré přidat step=0.1
Nebo budeš chtít akceptovat jak tečku tak čárku. Pak bych použil input type=text a v php pak v hodnotě nahradil čárku za tečku. $hods = strtr($_POST['hods'], ',', '.');
peter_r
Profil
Keeehi:

ide o to, že keď pracuješ s číslami, tak používaš numerickú časť klávesnice na pravej strane, a tam je čárka a nie tečka
Keeehi
Profil
peter_r:
To není úplně pravda. Záleží na nastaveném jazyku. Česká klávesnice tam bude mít čárku. Když si ale přepne na anglickou klávesnici, bude ta klávesa psát tečku.

Nicméně jak jsem psal, existuje řešení které bude přijímat obě varianty
Kajman
Profil
U type number je pak ještě myslím potíž, že různé prohlížeče v různých systémových nastaveních mají různý oddělovač. Také bych doporučil text a čárku převáděl na tečku.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0