Jeśli to możliwe, chcę wyłączyć zapisywanie w polu wejściowym typu text
przy użyciu JavaScript. Pole wejściowe jest wypełniane z bazy danych; dlatego nie chcę, aby użytkownik modyfikował jego wartość.
javascript
html
kawtousse
źródło
źródło
lub
Zauważ, że
readOnly
powinno być w camelCase, aby działało poprawnie w Firefoksie (magia).Demo: https://jsfiddle.net/L96svw3c/ - w pewnym stopniu wyjaśnia różnicę między
disabled
ireadOnly
.źródło
readonly
(małe litery) nadal nie działa w Firefoksie 52 na Ubuntu - powinno być wielbłądem.input
element za pomocąid="gate"
i wypróbowuję twój kod, który wydaje się nie działać dla mnie ...Jeśli dane są wypełniane z bazy danych, można rozważyć nie przy użyciu
<input>
znacznika, aby go wyświetlić. Niemniej jednak możesz go wyłączyć bezpośrednio w tagu:Jeśli chcesz później wyłączyć tę funkcję za pomocą JavaScript, możesz ustawić atrybut „wyłączony”:
Powodem, dla którego nie sugeruję pokazywania wartości jako an,
<input>
jest to, że z mojego doświadczenia wynika, że powoduje to problemy z układem. Jeśli tekst jest długi,<input>
użytkownik będzie musiał spróbować przewinąć tekst, co nie jest czymś, co normalni ludzie by się domyślili. Jeśli po prostu wrzucisz go do<span>
czegoś, masz większą elastyczność stylizacji.źródło
Możesz także przez jQuery:
Przykład pracy:
źródło
Uzyskaj odwołanie do swojego pola wprowadzania, jak chcesz (np.
document.getElementById('mytextbox')
) I ustaw jegoreadonly
właściwość natrue
:Alternatywnie możesz po prostu dodać tę właściwość bezpośrednio (bez JavaScript):
źródło