• 締切済み

文字の貼り付け

JavaScriptで、ある文字をクリックするとメール送信フォーム(別窓のhtml形式)へある文字を貼り付けて表示するとこはできますか? 例えば、 <a href="xx.html" target="_blank">あああ</a> をクリックすると xx.htmlのメール送信フォームを表示し、そのテキスト内に「こんにちは」などの文字を表示しておく。 ※「こんにちは」はいろんな文字を表示させたい

みんなの回答

  • kura07
  • ベストアンサー率50% (30/59)
回答No.4

IEでは完全に開くまで待つけど、Sleipnirでは待たないようですね… (親ウィンドウ側) <script type="text/javascript"> function sendMessage(_win){ _win.document.form1.test.value = "xx.htmlのフォームに表示させたい文字"; } </script> <input type="button" value="xx.htmを開く" onclick="window.open('xx.html');"> (xx.html側) <body onload="opener.sendMessage(window);"> <form method=POST action="http://~.cgi" name="form1"> <input type=text name="test" value="" readonly> <input type=submit value="送 信"> </form> bodyタグのonload属性は、ページの読み込みが終わってから実行するスクリプトを記述するところであって、この場合、読み込みが終わってから(入力フォームが表示されてから)、親ウィンドウの関数を実行しています。(opener.をつけることで、親ウィンドウの関数を呼び出せます) IEでは動作確認しました。Sleipnirでも試してみてください。

dyo
質問者

お礼

やっと目的のスクリプトを作成することが出来ました。 大変分かりやすく回答頂きまして誠にありがとうございました。

  • kura07
  • ベストアンサー率50% (30/59)
回答No.3

Sleipnirというブラウザは初めて聞きました… 基本的なスクリプトを使ってるので、ブラウザで出来ないということはないと思うのですが… 分からないのですが、似たような症状を見つけましたので、参考にしてください。

参考URL:
http://kikitai.teacup.com/qa2506806.html
dyo
質問者

お礼

そうですか。 ちょっとSleipnirの方で聞いてみたいと思います。 スクリプトありがとうございました。 大変助かりました。

dyo
質問者

補足

恐れ入ります。 Sleipnirの方で確認したところ、 「open直後にopenされていないみたい」と回答され var _win = window.open("xx.html");  の後に alert("hoge"); を入れると動くとのこと。(確かに正常に動きました) で、「子ウィンドウからonloadイベントで親ウィンドウ側の関数を呼ぶやり方」でやれば出来るとの回答を貰いました。 このやり方は、どのように記述すれば良いのか、 もしお解かりならお教え頂けないでしょうか。

  • kura07
  • ベストアンサー率50% (30/59)
回答No.2

例えば… (親ウィンドウ側) <script type="text/javascript"> function sendStr(){ var _win = window.open("xx.html"); _win.document.form1.test.value = "xx.htmlのフォームに表示させたい文字"; } </script> <input type="button" value="xx.htmを開く" onclick="sendStr();"> (xx.html側) <form method=POST action="http://~.cgi" name="form1"> <input type=text name="test" value="" readonly> <input type=submit value="送 信"> </form> 私のパソコンで動作を確認しました。

dyo
質問者

お礼

回答ありがとうございました。 IE7 では動作できたのですが、 Sleipnir  http://www.fenrir.co.jp/sleipnir/ では表示させたい文字が表示できませんでした。 Sleipnir  はIEのエンジンを使用しているみたいですが、 ブラウザによって動作できないなどはあるのでしょうか? 何か対処方法などお分かりでしょうか?

  • kura07
  • ベストアンサー率50% (30/59)
回答No.1

window.openを使って、ウィンドウを変数に格納するとか… var _win = window.open("xx.html"); //_winじゃなくても勿論OK _win.document.form.name.value = "こんにちは";

dyo
質問者

お礼

回答ありがとうございました。 _win を xx.htmlで表示させるにはどのようにしたら良いでしょうか? <form method=POST action="http://~.cgi"> <input type=text name="test" value="_win" readonly> #ここにメッセージを入れたい <input type=submit value="送 信"> </form>

関連するQ&A

専門家に質問してみよう