我想知道如何使用Window open()方法将textarea的内容发送到新窗口。
继承人是我的小代码:
HTML
<textarea name="textcode"></textarea>
<button type="submit" onclick="myFunction()">Open in New window</button>
的Javascript
function myFunction() {
window.open("insert the new window path here");
}
答案 0 :(得分:0)
使用jquery在代码下面使用。
HTML
<textarea name="textcode" id="text"></textarea>
<button type="button" id="openwindow">Open in New window</button>
jquery
$(document).ready(function(){
$('#openwindow').click(function(){
var value = $('#text').val();
window.open('https://www.google.co.in/?#q='+value);
});
});
你可以将值传递为params.include路径和参数。你将获得查询字符串中文本区域的值。使用PHP $ _GET ['param']你将在新窗口中打印数据。
使用纯javascript HTML
<textarea name="textcode" id="text"></textarea>
<button type="button" onclick="myFunction();">Open in New window</button>
的javascript
function myFunction(){
var value = document.getElementById("text").value;
window.open('https://www.google.co.in/?#q='+value);
}
答案 1 :(得分:0)
如果您可以直接访问父窗口的内容/ DOM,为什么尝试在Windows之间发送数据?当您的textarea的内容可以/可以更改时,这将为您提供优势。 “子页面”将保留对打开它的页面的引用!
parent.html
<textarea id="mytext" name="textcode"></textarea>
<button type="submit" onclick="myFunction()">Open in New window</button>
<script>
function myFunction() {
//open popup/window on the same domain
window.open('newwindow.html','newwindow','width=350,height=350');
}
</script>
当新窗口打开时,只有当它们位于同一个域时,才能访问它的父DOM。
在newwindow.html
中,您可以使用window.opener
访问textarea(或任何其他DOM元素):
window.opener.document.getElementById("mytext").value
就像我说的,这只适用于您的父窗口和子窗口位于同一个域中的情况。当父母和孩子不在同一个域中时,您将遇到“same-origin policy errors”。
然而!您可以使用Window.postMessage
在不在同一域的窗口之间安全地传递数据。在所有浏览器中都不支持此功能。
otherWindow.postMessage(message, targetOrigin, [transfer]);
您可以在mozilla here
的开发页面上找到示例和其他信息(如浏览器支持等)