JavaScript / HTML5从表单中获取URL并在新的窗口iframe中打开它

时间:2013-10-04 00:06:00

标签: javascript html5

我目前正在尝试编写一个JavaScript函数,该函数会在用户将表单中的URL输入文本框后单击一个按钮,在包含iframe的新窗口中打开。这是我现在拥有的:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<style type="text/css">
label {
display:block;
}
</style>
<script type="text/javascript">

function goTo() {
    var url = document.forms[0].url.value;
    myWindow = window.open('', '', 'width=800,height=800');
    myWindow.document.write("<iframe src='url'></iframe>");
    myWindow.focus();
    return false;
}

</script>
</head>
<body>
<form action="" method="get" onsubmit="return goTo()">
    <label for="url">Enter the URL:
    <input type="text" name="url" id="url">
    <input type="submit" value="Submit">
</form>
</body>
</html>

我目前面临的主要问题是确定如何将url变量传递给document.write()方法。当我在iframe中尝试典型的源URL时,它会正常工作,但由于我想使用用户传入的值,因此无法实现目的。欢迎任何帮助,我没有虚荣的作者身份,所以如果我从根本上做错了,我很乐意 - 寻求专业人士让我知道。

1 个答案:

答案 0 :(得分:1)

url变量是示例中字符串的一部分。试试这个。另外,请确保它是有效的网址。

myWindow.document.write("<iframe src='"+ url +"'></iframe>");

我可能还会补充说,在新窗口中编写iframe有点多余。你应该做的

myWindow = window.open(url, "", "width=800,height=800");