- ベストアンサー
宜しくお願いします。
宜しくお願いします。 フレームで分割されたウィンドウA(左)、B(右)があり Aの部分にはsubmitボタン、Bの部分には60個位のセレクトメニューがあります。 Aのsabmitボタンを押すと、Bのセレクトメニューで選ばれた値を 取得しサーバー側に保存したいのですが、上手くいきません・・・。 わかる方がいましたら教えて下さい。 お願いします。 javascriptを使用してcookieに保存する方法で作成していたのですが 保存量オーバーみたい中途半端に保存されてしまうのです・・ すいませんが宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Perlというより、javascriptの問題の気がします。 (以下、空白2文字を全角空白にしているので直して実行して下さい) refer_frame.html <html> <frameset cols="400,*"> <frame src="refer_frame_left.html" name="left"> <frame src="refer_frame_right.html" name="right"> </frameset> </html> refer_frame_right.html <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type="text/javascript" src="frame.js"></script> <title></title> </head> <body> <form id="rightForm"> <select name="menuA" multiple> <option value="A1">menu A1</option> <option value="A2">menu A2</option> </select> <select name="menuB" multiple> <option value="B1">menu B1</option> <option value="B2">menu B2</option> </select> </form> </body> </html> refer_frame_left.html <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type="text/javascript"> //![CDATA[ function createMenu(menu){ var newMenu = document.createElement('select'); newMenu.name = menu.name; newMenu.style.display = 'none'; newMenu.multiple = menu.multiple; for (var i = 0; i < menu.options.length; i++) { newMenu.options[i] = new Option(menu.options[i].text, menu.options[i].value); newMenu.options[i].selected = menu.options[i].selected; } return newMenu; } function submitOtherFrameInfo(){ var rightFrame = top.frames['right']; var rightForm = rightFrame.document.getElementById('rightForm'); var leftForm1 = document.getElementById('leftForm1'); leftForm1.appendChild(createMenu(rightForm.menuA)); leftForm1.appendChild(createMenu(rightForm.menuB)); leftForm1.action="http://127.0.0.1/cgi-perl/CGI.pm/recv_form.cgi"; leftForm1.method="POST"; leftForm1.submit(); } //]]> </script> <title></title> </head> <body> <form id="leftForm1"> <input type="button" value="submit" onclick="submitOtherFrameInfo()"/> </form> </body> </html>
お礼
ありがとうございました。 勉強し直します。