我的代码有一个文本字段和一个用javascript制作的按钮。当用户单击该按钮时,它会打开一个到网站搜索页面的新窗口。我想要做的是使用它的id填写搜索字段,然后激活网站的搜索按钮。我似乎无法将文本传递到外部网站的文本字段,但这就是我所拥有的。
<script type="text/javascript">// <![CDATA[
function mySearch()
{
popupWindow = window.open(
'http://www.websitehere.com','popUpWindow','height=768,width=1024,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=yes')
popupWindow.focus();
popupWindow.searchpath1 = 'test value';
}
// ]]></script>
<center><form><input name="searchTxt" type="text" /><br /> <input onclick="mySearch()" value="Search" type="button" /></form></center>
textBoxId将是新打开的窗口上搜索文本框的ID。
如果有什么不合理的话,请告诉我。
这是外部网站文本框的源代码:
<input title="Search Term" type="text" name="searchpath1" id="searchpath1" maxlength="255" size="25" style="width: 300px;" value=""/>
答案 0 :(得分:1)
尝试类似
的内容popupWindow.document.getElementById('textBoxId').value = 'test value';
而不是
popupWindow.textBoxId = 'test value';
答案 1 :(得分:1)
您需要获取输入文本DOM元素&#39; textBoxId&#39;并设定价值&#39;这个获得元素的属性。
此行错误
popupWindow.textBoxId = 'test value';
使用以下行替换它:
var targetTextField = popupWindow.document.getElementById('textBoxId');
targetTextField.value = "test value";
在这里,我重写了完整的函数定义来评估提出的解决方案。尝试一下,让我们知道它是如何工作的! []中
function mySearch()
{
popupWindow = window.open('file:///tmp/form.html','popUpWindow','height=768,width=1024,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=yes')
if (window.focus())
popupWindow.focus();
var targetTextField = popupWindow.document.getElementById('textBoxId');
targetTextField.value = 'test value';
targetTextField.focus();
}