select()iframe中的textarea

时间:2012-05-20 20:40:14

标签: javascript html iframe textarea

我在iframe中有一个textarea。我想用JavaScript中的onclick事件选择textarea文本。

示例:

I have an iframe.

The inner content of the iframe is this:
<textarea id="textarea" disabled onclick="selectthis()">
"content of textarea"
</textarea>

我想选择文字,以便用户可以复制它:

I put this at the head of my page:

function selectthis() {
   document.getElementById('textarea').select();
}

但是当我点击textarea时,它没有被选中。

3 个答案:

答案 0 :(得分:1)

你需要这个:

document.getElementById('textarea').select();

Javascript中的函数区分大小写,因此请确保正确地将所有内容都大写(我将e的{​​{1}}大写。

答案 1 :(得分:1)

您键入了getElementById错误。


getelementById更改为getElementById。 JavaScript区分大小写。

enter image description here http://jsfiddle.net/DerekL/ArGhg/

另外,

<textarea id="textarea" onclick="selectthis">  <!--Nope-->
<textarea id="textarea" onclick="selectthis();">  <!--Yup!-->

更新

我看到你在那里做了什么。您无法在已禁用 <textarea>中选择文字 见http://jsfiddle.net/DerekL/ArGhg/2/

根据Francisc的评论,使用readonly将解决问题 见http://jsfiddle.net/DerekL/ArGhg/3/

答案 2 :(得分:0)

函数selectthis可能会生成一个ecception,因为它找不到textarea作为id的任何元素。问题是你使用document.getElementById(我修正了拼写错误),但textarea不属于document。 您必须访问iframe自己的文档对象,通常使用以下内容:

var iframe = document.getElementsByTagName("iframe")[0];
var ifrDoc = iframe.contentDocument;
var textarea = ifrDoc.getElementById("textarea");
textarea.select();

注意:在IE8中,您必须指定doctype,而在早期版本中,您可以使用iframe.contentWindow.document代替。