0

私はいくつかのページをロードするフレームセットを持っています

Top ->   Header
Left ->  Menu
Right -> Data  

しかし、メニューをクリックしようとすると、実際のページは右側のフレームに読み込まれる必要があり、代わりに左側のフレームに読み込まれ、メニューが右側に移動されます。

target="rightSideFrame" を指定しましたが、まだ取得できません。

メニューのリンクをJavaコードで作成し、struts1.2.9フレームワークを使用しています

以下は私のコードスニペットです:

HTML :

<frameset border="0" frameborder="0" framespacing="0" rows="64,*">
                    <frame border="0" frameborder="0" framespacing="0" id="topFrame" name="topFrame" src="<%=resourcePath%>/common/header.jsp" marginheight="0" marginwidth="0" noresize="noresize" scrolling="no">
                    <frameset border="0" frameborder="0" framespacing="0" id="MainFrameSet" cols="209,*">
                            <frame noresize="noresize" border="0" frameborder="0" framespacing="0" id="leftFrame" name="leftFrame" src="<%=resourcePath%>/common/left_menu.jsp" scrolling="auto">
                            <frame border="0" frameborder="0" framespacing="0" id="workFrame" name="workFrame" src="<%=resourcePath%>/common/WelcomePage.jsp" marginheight="7" marginwidth="7" noresize="noresize" scrolling="auto">
                    </frameset>
            </frameset>

およびメニューリンク:

<a href=\"#\" target=\"workFrame\" onclick=\"getMenuRequest('"+model.getResource_name()+"','goToHome')\">"+model.getMenu_name()+"</a>

アップデート :

getmenuRequest

function getMenuRequest(actionName,methodName){
                       document.forms[0].action=actionName+".htm";
                       document.forms[0].method.value=methodName;
                       document.forms[0].submit();
                   }

これを解決するのを手伝ってください、

よろしく

4

1 に答える 1

1

問題はtarget、javascript がフォームを送信しているため、リンクのプロパティが無視されることです。getMenuRequestメソッドを変更してformターゲットを設定する必要があります。

function getMenuRequest(actionName,methodName){
    document.forms[0].action=actionName+".htm";
    document.forms[0].method.value=methodName;
    document.forms[0].target='workFrame';
    document.forms[0].submit();
}

ただし、1 つ注意点があります。後で他のリクエストでフォームを送信すると、ターゲットが のままにworkFrameなり、間違ったフレームをターゲットにする可能性があります...

NB私はこれを試していません...

于 2012-10-18T11:30:38.907 に答える