Autor Zpráva
WMPopi
Profil
Ahoj,
pokud mám input nastaven na disabled a nefunguje mi na něm onclick, je to tak správně?
Případně napadá vás, jak to řešit jinak?

Cíl byl javascriptem předat data do inputu a vypnout ho. Poté umožnit dvojklikem jeho zapnutí a změnu (ondblclick).

Díky
Darker
Profil
Když je input disabled, je to jako by ta místo něj byl obrázek (ne doslova, platí to ze strany uživatele, skript do toho může). Co takhle dát vedle inputu chcekbox, který umožní vypínat a zapínat?
WMPopi
Profil
Darker:
Přijde mi to divný a nelogický, mám nějakej input, ten má nastavený class a onclick, proč class zůstane a onclick ne? :-) Jo, šlo by to jak píšeš, ale zkusím to vymyslet nějak jednodušeji..
Chamurappi
Profil
Reaguji na WMPopiho:
pokud mám input nastaven na disabled a nefunguje mi na něm onclick, je to tak správně?
Ano.

Případně napadá vás, jak to řešit jinak?
Překryj <input> dalším elementem a chytej kliknutí na něm. V některých prohlížečích jde při kliknutí na zakázaný <input> zachytit onclick na jeho rodiči, ale na to se nedá spoléhat.

Cíl byl javascriptem předat data do inputu a vypnout ho.
Zakázané formulářové prvky se neodesílají, s tím počítáš?
Nechtěl bys místo zákazu použít spíš readonly?
Darker
Profil
WMPopi:
vymyslet nějak jednodušeji..
Budeš pak hodný a ukážeš mi to jednoduché řešení, až se k němu dopracuješ? To co navrhl Chamurappi rozhodně byde fungovat, hodně štěstí.
WMPopi
Profil
Omlouvám se za delší prodlevu, někdy není čas na diskuzi...

Chamurappi:
Zakázané formulářové prvky se neodesílají, s tím počítáš?
Samozřejmě počítám, akce v inputu, který chci vypínat má za následek pomocí našeptávače vyplnění do skrytého inputu id klienta, v inputu, který chci vypínat se má zobrazit jen jméno (pro informaci, netřeba odesílat).

Ale aby bylo jasné, že už jsem klienta vybral, chtěl pole vypnout. Do readonly se pořád dá kliknout a navíc ho musím nastalovat aby vypadal jako neaktivní, což disabled už povětšinou je nějak šedivý :-)

Darker:
Budeš pak hodný a ukážeš mi to jednoduché řešení, až se k němu dopracuješ?
Nakonec jsem to vyřešil, tužtičkou vedle vypnutého inputu, pomocí které inputu nastavím disabled=false

Tedy díky za objasnění, jsem zase chytřejší..

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: