Autor Zpráva
Dano_V
Profil *
Riešim matematické úlohy s javascriptom, a je potrebné, aby výsledky boli viditeľné v inpute, ale by bolo dobré, keby sa nedali na stránke zmeniť. Teda aby sa dali iba čítať. Dá sa to tak nastaviť?

Druhá vec, čo chcem iba oznámiť je, že zistil som chybu v javascripte. Keď skriptom vynásobím číslo 0,009 s 1500, tak dostanem výsledok 13,49 a nekonečný rad deviatok. To isté sa stane pri násobení s 3000, teda 26,9999999999999. Ale toto iba pre zaujímavosť! S ostatnými číslami som nezbadal odchýlku.
juriad
Profil
Dano_V:
1) můžeš použít atributy disabled nebo readonly, podle toho, jestli chceš, aby uživatel mohl do inputu kliknout.

2) To není chyba, ale vlastnost: Časté potíže, zajímavosti a poučné debaty » Výsledkem výpočtu 1 - 0.9 není přesně 0.1. Řešením je zaokrouhlit na rozumný počet desetinných míst.
Str4wberry
Profil
Proč vlastně chcete používat <input>, když nepotřebujete umožnit jeho změnu?
Dano_V
Profil *
Str4wberry:
Preto, lebo tam zapisujem s javaskriptom, a z inputu potom chcem tie čísla poslať poštou do emailu. Pokial viem, to sa dá iba z inputu.

juriad:
Ďakujem
xROAL
Profil
Dano_V:
Preto, lebo tam zapisujem s javaskriptom, a z inputu potom chcem tie čísla poslať poštou do emailu. Pokial viem, to sa dá iba z inputu.
JavaScriptom môžeš zapisovať kamkoľvek v rámci stránky a posielať niečo na e-mail, teda predávať hodnotu serverovému scriptu, ktorý to pošle, je možné aj inými spôsobmi (napr. session, cookies), avšak bežný input je asi najjednoduchšie riešenie.
Str4wberry
Profil
Chtěl jsem sem ještě napsat reakci, ale nějak moc jsem se rozepsal, takže:

Jak zakázat psaní do <input>u
Dano_V
Profil *
To <input readOnly > je najvhodnejšie riešenie. Ďakujem za radu
anonymníí
Profil *
Dano_V:
Uživateli danou hodnotu prezentuj mimo input, současně si ji ulož do hidden inputu, který pak odešleš spolu ss dalšími na server.
Joker
Profil
anonymníí:
Tak to už je jednodušší ten readonly input.
anonymníí
Profil *
Joker:
Toť otázka, dal jsem to jako alternativu.

Input je stále input, na některé uživatele může působit matoucím dojmem, že mají input s hodnotou, která nejde přepsat navzdory blikajícímu kurzoru.

I když nastyluju readonly tak, že jako input nevypadá, pořád se na něj dokážu fokusnout tabulátorem. Opět uživatel stojí před otázkou, proč tento text fokusnout jde a jiný ne? Neví, že je to input, protože se tak netváří.

Každý nechť používá řešení, které mu vyhovuje, osobně readonly nemám moc rád a z důvodů, které píši výše, nepoužívám.
Joker
Profil
anonymníí:
na některé uživatele může působit matoucím dojmem, že mají input s hodnotou, která nejde přepsat navzdory blikajícímu kurzoru

Jestli můžu hodnotit podle mých zkušeností a sám sebe, vizuálně podstatně silnější vliv je, že pole je šedivé (dobře, nemusí být, tak řekněme vizuálně vypadá jako needitovatelné pole). Zmatení jsem nezaznamenal nad tím, že to pole nejde editovat, ale spíš mezi readonly a disabled nad tím, že někde text označit a kopírovat jde a jinde ne. Ale to je jiný problém.

Připadá mi nesmyslné mít jedinou hodnotu a vypsat ji jako text, aby nebyla v inputu, ale hned vedle ji kopírovat do skrytého inputu, aby byla v inputu.
Navíc to přenášení hodnoty vytváří další možný problémový bod (může se rozejít hodnota v textu a hodnota ve skrytém inputu).
anonymníí
Profil *
Joker:
Navíc to přenášení hodnoty vytváří další možný problémový bod (může se rozejít hodnota v textu a hodnota ve skrytém inputu).
Pokud se bavíme o výpisu např. pomocí PHP, je chybovost minimální. Spíše nulová.

Nikomu ten postup nenutím, je to jen další alternativa a ať si tázající vybere sám, co mu více sedne.
Joker
Profil
anonymníí:
Pokud se bavíme o výpisu např. pomocí PHP, je chybovost minimální. Spíše nulová.
Bavíme se o JavaScriptu.

Ale kdyby šlo o PHP, tak posílat si hodnotu, která se počítá na serveru, zpracovává na serveru a návštěvník ji nemá měnit, přes klienta v hidden inputu není dobré* řešení.

* I když to je relativní, „není to dobré“ pro správce toho systému, zato pokročilým uživatelům to na některých webech zpřístupňuje zajímavé funkce :-)
anonymníí
Profil *
Joker:
Bavíme se o JavaScriptu.
Ano, ale data do toho inputu posílá PHP. Alespoň tak jsem to s tím PHP myslel, nějakou proměnnou ze serveru, z databáze.

Ale kdyby šlo o PHP, tak posílat si hodnotu, která se počítá na serveru, zpracovává na serveru a návštěvník ji nemá měnit, přes klienta v hidden inputu není dobré* řešení.
Souhlas. Pak ale kde by se taky ta readonly hodnota vzala, že? Nepíše se tu nic o tom, že by to byl výsledek nějaké JS operace, takže předpoklad, že do stránky teče ze serveru, je namístě.

zato pokročilým uživatelům to na některých webech zpřístupňuje zajímavé funkce
... Podobné jako v readonly inputu, ne?
Joker
Profil
anonymníí:
Podobné jako v readonly inputu, ne?
Ano, v tomhle případě (kdy se data generují na serveru, zpracovávají na serveru a uživateli se mezitím mají jen zobrazit) je lepší si data přes klienta vůbec nepředávat.

Moje předchozí příspěvky se vztahují k datům, která vzniknou na klientovi.
Bubák
Profil
anonymníí:
pořád se na něj dokážu fokusnout tabulátorem
Tomu v HTML jednoduše zabrání záporní hodnota atributu tabindex, http://jecas.cz/tabindex#zabraneni
http://kod.djpw.cz/udgb
http://kod.djpw.cz/udgb-
Dano_V
Profil *
Ako vidím, dobre ste sa rozhovorili, mám z toho radosť! Hlavné je, že môj problém vyriešil readOnly.



anonymníí:
Nepíše se tu nic o tom, že by to byl výsledek nějaké JS operace
Prvý riadok na tejto stránke! Treba prečítať.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0