(document.getElementById('textarea')。length> 0)不起作用。有没有人知道除此之外的任何其他事情?
威尔
以下是我之前提出的问题未解决的问题。我有Rich文本编辑器(Openwysiwyg),当我转到textarea所在的特定页面时,它被加载到textarea。该函数使用textarea id来标识textarea以使用富文本编辑器(RTE)替换它。现在调用此函数的脚本位于页面的标题部分。我选择了一个用于发送电子邮件的下拉选项,因此我的textarea电子邮件显示出来。通过为RTE添加此脚本,我的textarea电子邮件将被RTE替换,我可以发送格式化的电子邮件。所以这在Firefox中运行得非常好。使用IE7,RTE甚至在我选择电子邮件的下拉选项之前就显示出来了,这使整个页面搞砸了。当我选择电子邮件的下拉选项时,我只看到正常的文本区域和RTE仍然位于页面顶部。
答案 0 :(得分:9)
document.getElementsByTagName('textarea')。length> 0
答案 1 :(得分:1)
您可以使用(注意复数形式!)
var e = document.getElementsByTagName("textarea");
您也可以使用jQuery:
$("textarea").each( function() { /* ... */ } );
编辑:
我曾经遇到过类似的问题。我正在使用fckedit,当我尝试读取我的textedit(document.getElementById('blabla').value
)的值时,我变得空了,即使很难,富文本编辑也会在屏幕上显示某些内容。
事实证明,fckedit API在textearea顶部打开一个新元素,只有当你从页面导航时才会将它的内部数据(在iframe上,如果我没有误)同步到原始textarea中。
故事的寓意:如果你使用的是一些richtext API - 使用它的API来查询你的“textarea”的状态。希望这对您有所帮助,因为我不知道您正在使用的库。
PS:我实际上使用了$("blabla").val()
...这也是JavaScript ......出于某种原因,人们认为jQuery不是javascript。那是为什么?
答案 2 :(得分:1)
纯JavaScript(您可以使用此代码)
textarea
是HTML元素标记
JavaScript:
if(document.getElementsByTagName('textarea').length > 0) {
}
HTML CODE:
<div class="flavor">
<div class="value">
<textarea name="name" rows="8" cols="80"></textarea>
</div>
</div>
<script type="text/javascript">
var flavorbox = document.getElementsByClassName('flavor')[0]
.getElementsByClassName('value')[0]
.getElementsByTagName('textarea').length;
alert(flavorbox);
</script>
答案 3 :(得分:0)
由于openWYSIWYG动态生成iframe
,因此获取/设置其内容并不那么简单。
我目前正在努力更改源中的这些设置。我会在收到更改后立即在此处发布链接。