人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

javascriptで子ウィンドウから親ウィンドウへ値を渡すときについての質問です。

親ウィンドウにtextareaがあり、PopUpした子ウィンドウで編集した値を
親のtextareaに追記するというものを作ろうと思っています。

window.openで開いた子ウィンドウから、opener.document.getElementById("hogehoge").value = "text";
とJavascriptで値を帰すことはできたのですが、これだと元々親ウインドウのtextareaに入っていた値が消えてしまいます。

親ウィンドウのtextarea内の内容を消さずに追記をする方法がわかりましたら、
ご教授お願いいたします。

●質問者: vencqr109
●カテゴリ:インターネット ウェブ制作
✍キーワード:JavaScript open ウィンドウ ウインドウ 教授
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● Mars
●20ポイント

opner.?.value = 'text';

opner.?.value += 'text';


これで追記になります。

http://www.tohoho-web.com/js/operator.htm#pleq

◎質問者からの返答

ありがとうございます。

この方法で解決できました。


2 ● QuestR2
●20ポイント

opener.document.getElementById("hogehoge").value = opener.document.getElementById("hogehoge").value + "text";

http://q.hatena.ne.jp/answer

◎質問者からの返答

ありがとうございます。


3 ● hanabc
●20ポイント

"="を"+="にすればよいのではないでしょうか。

http://chaichan.web.infoseek.co.jp/qa5500/qa5833.htm

◎質問者からの返答

ありがとうございます。


4 ● kebo987654
●20ポイント

以下のコードはテキストエリアの値を「text」にします。

opener.document.getElementById("hogehoge").value = "text";

今回やりたいのはテキストエリアへの追記ですから、次の流れでスクリプトを書きます。

元の文字列を取得 -> 追記したい文字列と結合 -> 表示

opener.document.getElementById("hogehoge").value = opener.document.getElementById("hogehoge").value + "text";
//これは += 演算子で省略表記することもできます。
opener.document.getElementById("hogehoge").value += "text";

http://q.hatena.ne.jp/1245226588(ダミー)

◎質問者からの返答

ありがとうございます。


5 ● Marine-Blue
●20ポイント

原因は=を使ったために古い内容を無視して新しい内容が代入されるためです。

opener.document.getElementById("hogehoge").value += "text"; のようにすることで内容を追記出来ます。

このスクリプトの変更点+=は末尾に文字を追加すると言う意味です。


なお、演算子の問題は覚えておくと便利なので、何となくでも知っておくと良いんじゃないでしょうか。

http://www.scollabo.com/banban/java/operation.html

http://www.tohoho-web.com/js/operator.htm

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ