У меня есть текстовое поле, которое я хотел бы отключить или прочитать только. Я использую кнопки на своем сайте, чтобы добавить текст в это текстовое поле, чтобы делать заметки. Цель не допускать редактирования заключается в том, что никто не может случайно изменить какие-либо заметки.Добавленный текст не отображается в textarea при переключении атрибутов readonly или disabled
Теперь, если кому-то нужно изменить примечание, которое они уже отправили, я бы хотел, чтобы он/она мог редактировать текстовое поле и снова блокировать его для редактирования.
HTML:
<p><a id="append">Append</a> | <a id="lock">Lock</a> or <a id="unlock">Unlock</a></p>
<p><textarea id="notes" readonly="true" rows=10></textarea></p>
JQuery:
$("a#append").click(function() {
$("textarea#notes").append("- This is a note.\n");
});
$("a#unlock").click(function() {
$("textarea#notes").removeAttr("readonly");
});
$("a#lock").click(function() {
$("textarea#notes").attr("readonly", "readonly");
});
http://jsfiddle.net/ljpaul/bakcwtaf/
Проблема: при повторной блокировке текстового поля (либо только для чтения или отключить атрибут), когда я нажимаю, чтобы добавить еще один Заметьте, что он не отображается. Как ни странно, он появляется в HTML-коде, он просто не отображается. У кого-нибудь есть предложения по исправлению этого/заставить его работать? Я чувствую, что я пробовал почти каждую комбинацию атрибутов и способов настройки указанных атрибутов!
Редактировать: пользователь разблокирует это поле, чтобы либо внести изменения в заметку, либо удалить заметку. Поэтому при разблокировке и внесении каких-либо изменений в содержимое возникает проблема.
Удовлетворительно это прекрасно работает, (append -> unlock -> append -> lock -> append и т. Д.), Пока пользователь не делает никаких «ручных» изменений, пока элемент «разблокирован». –
Я забыл указать эту часть. Пользователь будет только разблокировать текстовое поле, чтобы делать ручные изменения, если, скажем, что-то случилось или записка должна быть удалена. – fiddlestacks
Я понял, что, как подразумевается в вопросе; но пока я заинтригован, я честно понятия не имею, что может быть причиной этого. –