- - PR -
子ウィンドウのファンクションを参照したい
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 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 と指定するとオブジェクトが返ってきて成功するのですが…。 なぜファンクションはとれないのかさっぱり解りません。 どなたか詳しいかた,ご教授願います。 | ||||||||
|
投稿日時: 2005-12-16 10:43
転記ミスかもしれませんが、 iframeRecord1.actionUp(); ってことではないですよね? | ||||||||
|
投稿日時: 2005-12-16 11:10
転記ミスです。すみません。
--------------------------------------- 親ウィンドウ記述 function click_Button() { iframeRecord1.actionUp(); (←※) } 子ウィンドウiframeRecord1記述 function actionUp() { alert("成功"); } ---------------------------------------- でした。 | ||||||||
|
投稿日時: 2005-12-16 11:16
そうですか。 そうなるともう少しソースがないとなんとも言えませんね。 iframeの属性部分とボタン部分などは最低限必要です。 差し支え無い範囲で公開してみてはいかがでしょうか? | ||||||||
|
投稿日時: 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> | ||||||||
|
投稿日時: 2005-12-16 15:37
焼きそばです。
上記、ボールド部分でエラーが出ていますが、 function自体は参照できているみたいですよ。 |
1