设置字段在不同的框架从javascript

Setting field in a different frame from javascript

本文关键字:框架 javascript 字段 设置      更新时间:2023-09-26

我有一些javascript代码,我想设置一个字段的值,在不同的框架。我的js代码中的这一行是:

window.frames.header_frame.document.getElementById('sort_key').value = this.id

当这行执行时,我得到一个错误:

window.frames.header_frame is undefined

但是如果我在那行设置了一个断点,当它被击中时,访问它元素,它可以工作:

>>> window.frames.header_frame.document.getElementById('sort_key')
<input id="sort_key" type="hidden" name="sort_key">

我在脚本中做错了什么,阻止我从脚本访问该字段?

作为对查看HTML请求的响应,我将更新我的问题。不知道该展示多少。它们很大,所以我只是发布了相关的部分:

这里是主页:

<frameset frameborder=1 border=4 rows="170,*">
   <frame name="header_frame" src="tstatsheader.php?session_name=menu14&book=US&product=**&cluster=&idtype=symbol&id=&sort=aimlast desc&num=1000&refresh=0&tz=US%2FEastern&configname=Production">
   <frame src="tstats.php?session_name=menu14&book=US&product=**&cluster=&idtype=symbol&id=&sort=aimlast desc&num=1000&refresh=0&tz=US%2FEastern&configname=Production"name=tstatsdata>
</frameset>

报头帧:

<body>
<table border=0 width=100% cellspacing=0 cellpadding=0>
<tr><td align=left><a target=_parent href="mainframes.php?&tz=US/Eastern&configname=Production"><img src="images/predco_vs_bbx_3d.gif"></a></td>
<td align=center>Thursday May 8, 2014<br>US/Eastern</td>
<form method="GET" target=_parent action="tstatsframes.php">
<input type="hidden" name="book" value="US">
<input type="hidden" name="configname" value="Production">
<input type="hidden" name="tz" value="US/Eastern">
<input type="hidden" name="session_name" value="menu14">
<input id="sort_key" type="hidden" name="sort_key">

第二帧的顶部是:

<script src="sorttable.js"></script>

然后是该框架的标记。当在js代码中单击事件处理程序中的某个字段时,调用并从那里我想要更新标题帧中的sort_key字段。

header_frame是框架集文档中的一个框架,而不是您从tstats.php获得的文档。

你需要通过parent.frames而不是直接点击frames