- PR -

子ウィンドウのファンクションを参照したい

1
投稿者投稿内容
わしこ
常連さん
会議室デビュー日: 2005/10/18
投稿数: 35
投稿日時: 2005-12-16 10:14
一つのウィンドウに2つのiframe(iframeRecord1, iframeRecord2)があります。

親ウィンドウにあるボタンを押すと
iframeRecord1にあるファンクションactionUp();
を実行したいのですが、うまくいきません。
---------------------------------------
親ウィンドウ記述
function click_Button() {
iframeRecord.actionUp(); (←※)
}

子ウィンドウiframeRecord1記述
function actionUp() {
alert("成功");
}
----------------------------------------
※の部分は
document.all.iframeRecord1.actionUp();
document.all.iframeRecord1.document.all.actionUp();
等 一通り試してみましたがダメでした。

ちなみにiframeRecord1にあるテーブル(name="aa")を
document.all.iframeRecord1.aa
と指定するとオブジェクトが返ってきて成功するのですが…。

なぜファンクションはとれないのかさっぱり解りません。

どなたか詳しいかた,ご教授願います。
焼きそば
ベテラン
会議室デビュー日: 2002/11/06
投稿数: 86
お住まい・勤務地: 東京
投稿日時: 2005-12-16 10:43
引用:

わしこさんの書き込み (2005-12-16 10:14) より:
---------------------------------------
親ウィンドウ記述
function click_Button() {
iframeRecord.actionUp(); (←※)
}

子ウィンドウiframeRecord1記述
function actionUp() {
alert("成功");
}
----------------------------------------




転記ミスかもしれませんが、
iframeRecord1.actionUp();
ってことではないですよね?
わしこ
常連さん
会議室デビュー日: 2005/10/18
投稿数: 35
投稿日時: 2005-12-16 11:10
転記ミスです。すみません。

---------------------------------------
親ウィンドウ記述
function click_Button() {
iframeRecord1.actionUp(); (←※)
}

子ウィンドウiframeRecord1記述
function actionUp() {
alert("成功");
}
----------------------------------------

でした。
焼きそば
ベテラン
会議室デビュー日: 2002/11/06
投稿数: 86
お住まい・勤務地: 東京
投稿日時: 2005-12-16 11:16
引用:

わしこさんの書き込み (2005-12-16 11:10) より:
転記ミスです。すみません。




そうですか。
そうなるともう少しソースがないとなんとも言えませんね。

iframeの属性部分とボタン部分などは最低限必要です。
差し支え無い範囲で公開してみてはいかがでしょうか?
わしこ
常連さん
会議室デビュー日: 2005/10/18
投稿数: 35
投稿日時: 2005-12-16 15:14
ソースを添付します。よろしくお願いします。

****************main.jsp***********************
<%@page contentType="text/html; charset=Shift_JIS" pageEncoding="Windows-31J"%>
<%@page import="ff.com.component.Common" %>

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT">
<TITLE></TITLE>

<SCRIPT language=javaScript>
<!--
var updownFlg = "up";
/**
* @@@@@@ここ@@@@@@
*/
function btnReference_onClick(){
if (updownFlg == "up") {
iframeRecord.actionUp();
} else {
iframeRecord2.actionDown();
}
}
-->
</SCRIPT>
</HEAD>
<BODY bgcolor=#EAFAF3 style="MARGIN-TOP: 5px; MARGIN-BOTTOM: 8px" onload="window_onLoad();">

<table class="Intro" width="100%" height="100%" style="PADDING: 0px" cellspacing=0 cellpadding=0>
<tr style="PADDING-TOP: 3px; PADDING-BOTTOM: 3px">
<td align=right>
<input type=button value="参照" id=btnReference name=btnReference ONCLICK="btnReference_onClick();">
</td>
</tr>
<tr height="40%">
<td colspan=2>
<iframe name="iframeRecord" id="iframeRecord" src="iframe1.jsp"></iframe>
</td>
</tr>
<tr height="40%">
<td colspan=2>
<iframe name="iframeRecord2" id="iframeRecord2" src="iframe2.jsp"></iframe>
</td>
</tr>
</table>
</BODY>
</HTML>

****************iframe1.jsp***********************
<%@page import="ff.com.component.Common" %>
<%
String updownFlg = Common.nullToEmpty((String) request.getAttribute("updownFlg"));//(up:上段、down:下段)
%>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT">
<TITLE></TITLE>

<SCRIPT language=javaScript>
<!--
var initColor = "snow";//背景初期値
var updownFlg = "<%=updownFlg%>"

/**
* ダブルクリックイベント
*/
function record_onDblClick(){
if (updownFlg == "up") {
actionUp();
} else {
actionDown();
}
}

/**
* 上段
*/
function actionUp() {
alert("上");
var objTR;
//クリックされたオブジェクトを取得
var eventObj = window.event.srcElement;

//クリックされたTRオブジェクトを取得
if (eventObj.tagName == "TD") {
objTR = window.event.srcElement.parentElement;
} else {
return (false);
}

//選択行の背景色を変更
objTR.style.backgroundColor = "peachpuff";

//前回選択されたTRを初期化
if (window.top.slctObj != null) {
if (window.top.slctObj != objTR) {
window.top.slctObj.style.backgroundColor = this.initColor;
}
}
window.top.btnReference_onClick();

window.top.slctObj = objTR;
}

/**
* 下段
*/
function actionDown() {
var objTR;

//クリックされたオブジェクトを取得
var eventObj = window.event.srcElement;
if (eventObj.tagName == "TD") {
objTR = window.event.srcElement.parentElement;
} else {
return (false);
}

//選択行の背景色を変更
objTR.style.backgroundColor = "peachpuff";
//前回選択行を初期化
if (window.top.slctObj != null) {
if (window.top.slctObj != objTR) {
window.top.slctObj.style.backgroundColor = this.initColor;
}
}

window.top.slctObj = objTR;
}

-->
</SCRIPT>

</HEAD>

<BODY bgcolor="EAFAF3" onLoad="">

</BODY>
</HTML>
焼きそば
ベテラン
会議室デビュー日: 2002/11/06
投稿数: 86
お住まい・勤務地: 東京
投稿日時: 2005-12-16 15:37
焼きそばです。

引用:

わしこさんの書き込み (2005-12-16 15:14) より:

コード:
****************iframe1.jsp***********************
	/**
	 *  上段
	 */
	function actionUp() {
		alert("上");
		var objTR;
		//クリックされたオブジェクトを取得
		var eventObj = window.event.srcElement;





上記、ボールド部分でエラーが出ていますが、
function自体は参照できているみたいですよ。
1

スキルアップ/キャリアアップ(JOB@IT)