>highslide jsで、表示された子ウィンドウ(?)の中のform
http://highslide.com/ のhighslide jsでは
子ウィンドウにformはありませんけど
どのhighslide jsを指してますか?
一般的に子ウィンドウのformオブジェクトは
子ウィンドウ名.フォーム名.オブジェクト名.value
または
子ウィンドウ名.getElementById(id名).value
で受け取ることができます
highslideのパッケージに入ってるexampleを改造してみました。
Highslide JS - JavaScript thumbnail viewer
このzipに入っているhighslideフォルダを適当な場所にコピーして、以下のような配置にしてindex.htmlをブラウザで開けば確認できます。
index.htmlで保存
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="highslide/highslide-with-html.js"> </script><link rel="stylesheet" type="text/css" href="highslide/highslide.css" /> <script type="text/javascript"> hs.graphicsDir = 'highslide/graphics/'; hs.outlineType = 'rounded-white'; hs.wrapperClassName = 'draggable-header'; </script> <script> function getValue(value) { setTimeout(function() { document.getElementById('result').textContent = value + '! '+ value + '!'; }, 1500); } </script> </head> <body> <div> <a href="iframe.html" onclick="return hs.htmlExpand(this, { objectType: 'iframe' } )"> Content in iframe </a> </div> <br> <div id="result" style="font-size: 500%"></div> </body> </html>
iframe.htmlで保存
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script> function doSubmit() { var frm = document.getElementById("frm"); var value = ""; for (var i = 0; i < frm.colour.length; i++) { if (frm.colour[i].checked) { value = frm.colour[i].value; break; } } //iframeから親フレームのページを書き換える parent.document.getElementById('result').textContent = value; //iframeから親フレームの関数を実行 parent.getValue(value); parent.hs.close(); } </script> </head> <body> <form action="" onsubmit="return false" id="frm" style="margin: 0"> <p>What is your favourite colour?</p> <p> <input type="radio" name="colour" id="red" value="red" checked="checked" /> <label for="red">Red</label> <input type="radio" name="colour" id="blue" value="blue" /> <label for="blue">Blue</label> <input type="radio" name="colour" id="green" value="green" /> <label for="green">Green</label> </p> <p style="text-align: right; "> <input type="submit" value="Submit" onclick="doSubmit()" /> </p> </body> </html>
iframeからparentを使って親フレームにアクセスする方法でいいと思います。
動作確認できました。
ありがとうございます。
回答ありがとうございます。
フォーム等は、上記URLの中のサンプルの「Iframe with form」のようなイメージです。