Създаване на HTML checkbox елемент, забранен за промяна, като стойността му се включва в POST данните


Има два начина за забрана на промяна на стойността на елементите в HTML форма. Това се постига с един от двата атрибута readonly="readonly" или disabled="disabled". Двата атрибута имат само една разлика в поведението. Стойността (атрибута value) на елементите, отбелязани като readonly, се предава обратно на уеб сървъра като част от POST данните. От друга страна елементите, отбелязани като disabled, не се включват в POST данните - при тях все едно елемента не е част от формата.

Има обаче една особеност при checkbox елементите: те са подклас на input елементите и като такива readonly атрибута само забранява промяна на value атрибута. Това обаче не пречи по никакъв начин те да се отмятат. Когато се използва атрибута disabled, отмятането вече не е възможно, но пък и стойностите от отметнатите не се включват в POST данните и следователно не може да се използват. Ето един Javascript трик за справяне с това: всеки път, когато се натисне на елемента, неговата стойност се отрицава, и така се връща към оригиналната стойност:

<input type="checkbox" onclick="this.checked=!this.checked;" />

Няма коментари

Обратно към списъка със статиите

Тази страница последно е променяна на 2024-04-29 02:48:23