送信ボタンが押されたら親ウィンドウのテキストフィールドの内容をサブウィンドウに表示する(2)


動作ブラウザ 【 IE:3.0  NN:-
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows - × × × × × - × -
Macintosh - × × × × × - -
UNIX - - - - - × × × × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント subWin = window.open("sub.html","sub","width=320,height=240"); txt = document.myFORM.myNAME.value; subWin.document.open(); subWin.document.write("<form>"); subWin.document.write("<input type='text' value='"+txt+"'>"); subWin.document.write("</form>"); subWin.document.close(); return false;
説  明 親ウィンドウのテキストフィールドの内容をサブウィンドウに表示するには、サブウィンドウを開いてdocument.writeを使ってタグごとフォーム内容を書き出します。ブラウザによってはサブウィンドウが開くタイミングの都合上、正常に動作しない場合があります。(submitボタンの代わりにinput type="button"でのボタンを利用すると解決する場合があります)
サンプル <html> <head> <title>送信ボタンが押されたら親ウィンドウのテキストフィールドの内容をサブウィンドウに表示する(2)</title> <script Language="JavaScript"><!-- function setData() { subWin = window.open("sub.html","sub","width=320,height=240"); txt = document.myFORM.myNAME.value; subWin.document.open(); subWin.document.write("<form>"); subWin.document.write("<input type='text' value='"+txt+"'>"); subWin.document.write("</form>"); subWin.document.close(); return false; } // --></script> </head> <body> 親ウィンドウのテキストフィールドの内容をサブウィンドウに表示します。<br> <br> <form name="myFORM" onSubmit="return setData()"> 名前:<input type="text" name="myNAME"><br> <input type="submit"> </form> </body> </html>
補足説明 サブウィンドウ側のスクリプトは以下の通りです。 <html> <head> <title>送信ボタンが押されたら親ウィンドウのテキストフィールドの内容をサブウィンドウに表示する</title> </head> <body> <form name="myFORM"> 名前:<input type="text" name="myNAME"> </form> </body> </html>

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA