繁体   English   中英

如何在javascript页面中查找/检测任何文本区域

[英]How to find/detect any textarea in page in javascript

(document.getElementById('textarea')。length> 0)不起作用。 除了这个,还有谁知道吗?

这是我上一个问题未解决的情况。 我有Rich Text Editor(Openwysiwyg),当我转到放置textarea的特定页面时,该文件会加载到textarea中。 该函数使用textarea id标识文本区域,以将其替换为Rich Text Editor(RTE)。 现在,调用此函数的脚本位于页面的标题部分。 我选择了一个用于发送电子邮件的下拉选项,因此显示了我的电子邮件文本区域。 通过为RTE添加此脚本,我的电子邮件文本区域已由RTE代替,并且我可以发送格式化的电子邮件。 因此,这在Firefox中工作得很好。 在IE7中,RTE甚至在我为电子邮件选择下拉选项之前就出现了,这使整个页面变得混乱。当我为电子邮件选择下拉选项时,我只看到普通文本区域和RTE仍位于页面顶部。

document.getElementsByTagName('textarea')。length> 0

您可以使用(注意复数形式!)

var e = document.getElementsByTagName("textarea");

您也可以使用jQuery:

$("textarea").each( function() { /* ... */ } );

编辑:我曾经遇到过类似的问题。 我使用的是fckedit,当我尝试读取textedit的值( document.getElementById('blabla').value )时,我得到的是空值,即使是富文本编辑也很难在屏幕上明确显示。

事实证明,fckedit API在textearea顶部打开了一个新元素,并且只有当您从页面导航时,才将其内部数据(如果没有记错的话,它在iframe上)同步到原始文本区域。

这个故事的寓意是:如果您使用的是RTF API,请使用它的API查询“ textarea”的状态。 希望这对您有所帮助,因为我不知道您正在使用的库。

PS:我实际上使用了$("blabla").val() ...这也是JavaScript ...由于某些原因,人们认为jQuery不是JavaScript。 这是为什么?

纯JavaScript(您可以使用此代码)

textarea是HTML元素标签

JavaScript:

if(document.getElementsByTagName('textarea').length > 0) {

}

HTML代码:

<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> 

由于openWYSIWYG会即时生成iframe ,因此获取/设置其内容并不是那么简单。

我目前正在更改源代码中的这些设置。 一旦获得更改,将在此处发布链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM