0

我有一个文本区域,更新它。通常显示的文本出现在该文本区域标记的内容中(使用 firebug 查看当前 html 中的内容)。我刚刚遇到了文本区域中显示的文本没有出现在内容中的情况(至少根据萤火虫)。我也无法通过 jquery 找到文本,所以 jquery 说那里也没有任何东西。但是,浏览器在该文本区域中显示某些内容。

这可能发生的方式是什么?

这是萤火虫的标记:

<textarea id="HotlineComment" class="text autogrow valid" rows="2" name="HotlineComment" cols="20" style="overflow: hidden; resize: none; height: 30px;" title="Enter the reason for this change"></textarea>
<span class="authError" for="HotlineComment" generated="true"></span>

这是 Firefox 呈现的视觉效果: 在此处输入图像描述

4

2 回答 2

1

中的文本textarea将通过客户端脚本语言添加/更改,例如javascript 浏览器不会自行更改。

通过 javascript

document.getElementById('HotlineComment').value = 'changed';
于 2013-08-26T16:21:34.387 回答
1

基本上 textareas 不会将其所有内容都放入 HTML 中。它们包含在 elementDOM 中,不一定反映在代码中。

您仍然可以访问这些值。

尝试使用:

  1. $('#HotlineComment').val()获取值。
  2. $('#HotlineComment').val('New Value Here')改变价值。

我尝试在 Stackoverflow 上复制它,所以当您在答案框中键入时,HTML 仍然只显示:

<textarea id="wmd-input" class="wmd-input processed" name="post-text" cols="92" rows="15" tabindex="101" data-min-length=""></textarea>

而当我执行 a 时,$('#wmd-input').val()我可以在控制台中看到全部内容。

进一步阅读:

  1. http://www.sophox.com/wordpress/?p=921
  2. http://javascript.about.com/od/byexample/a/form-textarea-example.htm

干杯! :)

于 2013-08-26T16:28:31.617 回答