我有一个包含文本区域的 iframe,如下所示:
<html>
<body>
<form id="form1">
<div>
<textarea id="area1" rows="15"></textarea>
</div>
</form>
</body>
</html>
我想获取父页面中的textarea文本。我试过这个:
var text = $('#frame1').contents().find('#area1').val();
但是返回一个空字符串。但是,如果我在 <textarea> 标签中放置一个值,该值将成功返回:
<textarea id="area1" rows="15">something</textarea>
如何从包含 iframe 的页面获取 textarea 的值?
最佳答案
阅读 <textarea>
的内容:
var text1 = document.getElementById('myTextArea').value; // plain JavaScript
var text2 = $("#myTextArea").val(); // jQuery
正在写入 <textarea>
:
document.getElementById('myTextArea').value = 'new value'; // plain JavaScript
$("#myTextArea").val('new value'); // jQuery
不要使用.html()
或 .innerHTML
!
jQuery 的 .html()
和 JavaScript 的 .innerHTML
不应使用,因为它们不会获取文本区域文本的更改。
当用户在文本区域中键入时,.html()
不会返回键入的值,而是返回原始值——查看上面的演示 fiddle 示例。
关于javascript - 使用 JavaScript 或 jQuery 获取文本区域文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5831413/