1

我有一个文本区域,我想禁用或只读。我使用我网站上的按钮将文本附加到该文本区域以记笔记。不允许编辑的目的是为了防止任何人意外更改任何注释。

现在,如果有人确实需要更改他们已经提交的注释,我希望他/她能够编辑 textarea 并重新锁定以进行编辑。

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/

问题:当重新锁定 textarea(具有只读或禁用属性)时,当我单击以附加另一个注释时,它不会显示。奇怪的是,它确实显示在 HTML 代码中,只是没有显示。有没有人有任何建议来解决这个问题/让它工作?我觉得我几乎尝试了所有属性组合和设置所述属性的方式!

编辑:用户将解锁该字段以对注释进行编辑或删除注释。因此,当解锁并对内容进行任何形式的编辑时,就会出现问题。

4

1 回答 1

0

看起来它所需要的只是摆脱 .append() 函数。

$("textarea#notes").val($("textarea#notes").val() + "- This is a note.\n");

这可以解决问题并允许进行编辑。我认为这可能与附加目标 HTML 结构而不是编辑实际值有关。真的很奇怪。

于 2014-10-29T04:02:32.947 回答