0

さまざまな複雑な理由から、iFrame を含む Joomla ページがあります。iframe が呼び出すページはクラシック ASP で、ドロップダウンは次のようになります。

<select name="pulldown" onchange="nav_pulldown(this)">
<option value="?wherearewe=here">I want to go here</option>
<option value="?wherearewe=there">I want to go there</option>
</select>

JavaScript:

<script type="text/javascript"> 
<!-- //
function nav_pulldown(list) {
if (list.options[list.selectedIndex].value != "#"); {
top.document.location = list.options[list.selectedIndex].value;
}}
//-->
</script>

したがって、ユーザーがドロップダウン メニューを変更すると、javascript がフォームを送信します。asp ページはそのクエリ文字列を取得し、選択内容に応じて何かをレンダリングします。これは、ページが iframe の外で単独でレンダリングされる場合 (top.document が有効な場合) にすべて正常に機能します。しかし、適切な名前を特定することも、ドロップダウン ターゲットを呼び出して変更時にそれ自体を設定することもできません。いろいろ試してみました。

Joomla と ASP の両方のページを制御できます。さまざまな理由により、クエリ文字列は変更できません。重要な場合、iframe の名前は現在 formframe です。

4

1 に答える 1

0

self.locationコメントによると、 ではなく(または少し冗長ですが同等のself.document.location)を使用する必要がありますtop.document.location

selfJavaScript コードが存在するドキュメントを参照します。 top最上位の親ドキュメントを参照します。したがって、ページを iframe していない場合は、topを参照してくださいself。ただし、ページを iframe する場合はtop、最上位の親ドキュメントを参照します。

于 2013-05-20T20:41:58.617 に答える