Как блокировать input для изменений, но не для отправки данных?
При некоторых условиях необходимо заблокировать input от изменений, вначале сделал так:
document.getElementById('company').disabled = true; Но оказалось, что такая блокировка блокирует и отправку данных из формы. Как заблокировать input от изменений, но чтобы отправка данных из него выполнялась? |
document.getElementById('company').
И почему JS, а не в атрибутах поля указать? |
Цитата:
Цитата:
|
Разобрался, нужно прописывать не:
document.getElementById('company').readonly = true; а: document.getElementById('company').setAttribute("readonly", "readonly"); |
Walk,
readOnly |
Цитата:
|
Walk,
если через атрибут, то проще - setAttribute("readonly", 1), ибо и так тоже будет true - .setAttribute("readonly", "пофигу"); |
Цитата:
Правда, с блоком форм возня не закончилась - надо еще блокировать select, а его readOnly не блокирует. Цвет поля меняется как бы на заблокированный, но по факту значение можно изменить. |
Цитата:
|
Цитата:
|
Walk,
Может, скрыть? |
Walk,
elem.style.pointerEvents = 'none'; |
Цитата:
Правда этот вариант не меняет цвет поля, поэтому сделал следующее: document.getElementById('select_id').setAttribute("readonly", "readonly"); document.getElementById('select_id').style.pointerEvents = 'none'; Первая строчка меняет цвет селекта как бы на заблокированный, а вторая его непосредственно блокирует. Всем спасибо за помощь. Без вас бы ниосилил) |
Цитата:
<form> <select name="as"> <option value="1" disabled>11111</option> <option value="2" selected="">22222</option> </select> <button>GO</button> </form> |
Часовой пояс GMT +3, время: 12:45. |