window.openerを使っての操作

このQ&Aのポイント
  • JavaScript初心者のため、JavaScriptのwindow.openerを使用して子ウィンドウから親ウィンドウに値を渡す方法について質問します。質問文章からセンセーショナルなタイトルを作成しました。
  • また、実装したい環境はIE6ですが、貼り付けたソースコードを実行してもうまく動作しません。Google Chromeでも同じ結果です。ソースコードに何か誤りがあるのでしょうか。
  • さらに、チェックボックス式の選択肢を用意し、子ウィンドウで「選択」ボタンが押されたときに、チェックが入っている選択肢の内容が親ウィンドウのテキストエリアに渡される方法についても教えてください。
回答を見る
  • ベストアンサー

window.openerを使っての操作

JavaScript初心者です。 JavaScriptのwindow.openerを使って、 子ウィンドウから親ウィンドウに値を渡す、 ということをしたいのですが、うまくできません。 実装したい環境はIE6です。。 こちらのページのサンプルにあるソースをそのまま貼り付けてみても動きませんでした。 http://shoyu-ramen23.jugem.jp/?eid=203 ただ、サンプルはこちら、と書いてあるページのものは動きます。 (実際記載されているソースとは違うのではないかと思いますが)  *ちなみにGoogleChromeでも同じ結果でした。ソース自体何か誤りがあるのでしょうか サンプルのように子ウィンドウにある選択肢を一つクリックすると その値が親ウィンドウの特定のテキストエリアに渡される ・・というものすらうまくできないのですが、 子ウィンドウでチェックボックス式の選択肢を用意して、 子ウィンドゥ側で「選択」等の決定ボタンが押されたときに、チェックが入っている選択肢の内容が カンマで区切られて親ウィンドウのテキストエリアに渡される・・・ というものを作成したいのです。  子ウィンドウチェックボックスで、りんごとみかんとバナナにチェックが入っていれば  親ウィンドウのテキストエリアには「りんご,みかん,バナナ」といったふうにです。 こういったものは作成できるものなのでしょうか。 それともJavaScriptでやるようなことではないのでしょうか。 JavaScriptでできる場合どのようにすればよいのでしょうか? せめてサンプルだけでも動かせるようにしたいです。。 他にもいろいろと試してみましたがどうにも動きません・・ よろしくお願い致します。

  • Rolily
  • お礼率82% (453/552)

質問者が選んだベストアンサー

  • ベストアンサー
  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.2

<html> <head> <title>子ウィンドウ</title> <script> function setFormInput(val){   if(!window.opener || window.opener.closed){     //親ウィンドウが存在しない     window.close();   } else{     //window.openerで親ウィンドウのオブジェクトを操作     window.opener.document.getElementById('title01').innerHTML = val;     window.opener.document.form01.text01.value = val;     window.close();   } } function OC(){ var d=document.getElementsByTagName("input") var a=[] for(var i=0;i<d.length;++i){ if(d[i].checked){a.push(d[i].nextSibling.textContent)} } setFormInput(a.join()) } </script> </head> <body> 好きな果物を選んで下さい。<br> <input type="checkbox">いちご<br> <input type="checkbox">りんご<br> <input type="checkbox">みかん<br> <input type="button" value="選択" onClick="OC();window.close();return false;"> </body> </html>

その他の回答 (1)

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.1

<script language="text/javascript"> が間違っています

Rolily
質問者

お礼

おぉぉぉぉ!!ありがとうございます! ご指摘の通り、<script type="text/javascript"> に書き換えたところ、IEで動きました。 とりあえずサンプルを動かすことができたこと、とてもうれしいです。 作りたいプログラムについて、もありますので もう少し「質問中」にさせていただきますね。 自分でもいろいろやってみます。 道が開けました。ありがとうございます。

関連するQ&A

  • VBでコンボボックスとテキストボックスの連係

    VBでフォームにデータコンボボックスとテキストボックスを一つづつ作り、データコンボボックスで値を選択し、その値に対する値をテキストボックスに表示させたいんですがどうすればいいでしょうか? データコンボボックスで選択する元になるテーブルは ID | 商品 1 | みかん 2 | ばなな 3 | りんご と、上記のような形のテーブルをもちいています。 例えばデータコンボボックスで「1」を選択した場合テキストボックスに「みかん」と表示させたいです。

  • javascriptのopenerでエラー

    naritanと申します。 現在、ファイルのアップロード機能を作成しております。 親ウィンドウから子ウィンドウを開いて、開いた子ウィンドウでアップロードするファイルを選択し、ボタンを押下時にcgiを実行して実現しています。 そこで、子ウィンドウでボタンを押下した時に、選択したファイルの名前を親ウィンドウに表示したいと思い、ボタン押下時にまず、javascriptに処理を移し、openerメソッドを使用して実現しようとしているのですが、「アクセスが拒否されました」というjavascriptのエラーが表示されてしまいます。 記述は以下のようにしています。 -------------------------------------------------- window.opener.document.FORM1.file_nm.value = str2; -------------------------------------------------- ※str2:ファイル名保持変数 ※file_nm:親ウィンドウFORM1上のテキストボックス名 ちなみに親ウィンドウと子ウィンドウの拡張子は異なっているので、ためしに拡張子を合わせて実行してみたところ、ファイル名は親ウィンドウに表示されたのですが、cgiが動かなくなってしまいました。 ちなみに親ウィンドウはhtsファイル、子ウィンドウはhtmlファイルです。 お分かりになる方が見えましたら、ご教授願います。

  • サブウィンドウから親ウィンドウの数値更新・・

    JAVASCRIPTで、親ウィンドウから、サブウィンドウを開き、 サブウィンドウから、元々0であった、親ウィンドウのテキ ストボックスに数字を入れました。 しかし、テキストボックスには数字が入っているのですが、 親ウィンドウのソースをみてもテキストボックスの値は、0 のままです。 親ウィンドウをリロードすればソースも変わるので良いので すが、リロードはしたくありません。 そのテキストボックスの数字をみて処理を分岐しなければな らないので、ソース自体の数値が変わらないと、その値が読 めず困っています。 どういう対処方法がありますでしょうか?

  • チェックボックスのチェックした項目の名前を取得したいです。

    チェックボックスのチェックした項目の名前を取得したいです。 HTML+Javascript+CGIでアンケートフォームを作っています。 送信ボタンを押したときに確認画面を表示させたいのですが、チェックボックスの項目をどう扱って良いのかわかりません。 性別を選択するラジオボタンの値の取得(男をチェックしたか、女をチェックしたか)は sex = document.mailform.sex[0].checked ? document.mailform.sex[0].value : document.mailform.sex[1].value このように出来るとのことですが、チェックボックスはどうしたら良いのでしょうか? 好きな食べ物を聞くチェックボックスで、選択項目に ・リンゴ・バナナ・ミカン・イチゴ を用意し、チェックされた項目を 好きな食べ物:リンゴ イチゴ の用に出力したいと思っています。 よろしくお願いします。

  • やり方がわかりません。

    以下のようなものをSWTを使って考えていますが、もしお分かりになれば教えていただきたいです。 1、初めに「買い物回数」をコンボボックスから選んでもらう。選択肢は0回から5回くらい。 2、選ばれた回数分、コンボボックスを表示。  [買い物1][コンボボックス]  [買い物2][コンボボックス]  [買い物3][コンボボックス]    ・    ・ コンボボックスの選択肢には、{バナナ、りんご、メロン、トマト、みかん、ぶどう}があって、買い物1のコンボボックスでバナナを選ぶと、買い物2以降ではバナナは選択できなくなり、買い物2でりんごを選ぶと買い物3以降では(さっき選んだバナナと)りんごが選択できなくなる。以下も同様。 3、選んだ値(買い物1ではバナナ、買い物2ではりんご、など)を取り出す。 というものをJavaで作りたいのですが、アルゴリズムがわかりません。 初めの選択に応じて次のコンボボックスの数が変わる、前に選んだコンボボックスの値は選択できなくなる、といったことをどうすれば出来るか教えてください。お願いします。

  • リストボックスで表示されている値を取得したい!

    たびたびお世話になります。 まだまだ勉強中で、調べても分からないので、質問させていただきます。 よろしくおねがいいたします。 Smarty + php で画面をつくっています。 リストボックスに、phpで設定した値をだしています。 設定しているのはKey と 値です。 0 りんご 1 みかん のように。 画面でリストボックスから選択すると、りんご やみかん のように値がみえますが、PHPで値を取得すると 0 や 1 のKeyです。 PHP側での処理で、Key と 値の両方を使いたいのです。 このため、画面のリストボックスの横にhiddenでテキストボックスを追加し、選択されたタイミングでTPL内のJavaScriptで、値をテキストボックスに設定し、画面終了時にPHPへPOST渡しをしようと考えました。 <select onblur="fnGetName(this)"~ とすると、キーの方しか取得できません。 どうすれば、和名(値)を取得できるのでしょうか 説明が下手ですみません。 よろしくお願いいたします。

  • ラジオボタンの選択によってチェックボックスのチェックできる個数を制限し

    ラジオボタンの選択によってチェックボックスのチェックできる個数を制限したい。 他の方の質問を見たのですがマッチする質問がなかったのでご質問させていただきます。 現在申し込みフォームを作成しているのですが、要件としては、 ラジオボタンの選択によってチェックボックスのチェックできる個数を制限したい。 と思っています。javascriptで実現できると思うのですがなかなかできずに困っております。 <ラジオボタン> ○りんご ○みかん ○めろん ○すいか <チェックボックス> □青森産 □愛媛産 □千葉産 □神奈川産 りんごを選んだ人は、チェックボックスで1つしか選択できないようにしたい。 みかんを選んだ人は、チェックボックスで2つしか選択できないようにしたい。 めろんを選んだ人は、チェックボックスで3つしか選択できないようにしたい。 すいかを選んだ人は、チェックボックスで4つ選択できるようにしたい。 可能であれば制限を超えた場合はアラートを上げたいと思います。 2つまでしか選べませんというように。 大変申し訳ありませんが、参考になるページやソースなどを教えていただければと 思います。よろしくお願い致します。

  • VB.net comboboxの操作で

    下記ソースでiiによってCombobox1の値を変更したいのですが 「ComboBox1.Text =」にすると ComboBox1_SelectedIndexChanged にかかれたプログラムが動いてしまいます。 ComboBox1_SelectedIndexChangedが動かずに ComboBox1に値設定する方法ないでしょうか。 ------------------------------------------------program ComboBox1.Items.Add("みかん") ComboBox1.Items.Add("りんご") ComboBox1.Items.Add("すいか") if ii=1 then ComboBox1.Text = "みかん" if ii=2 then ComboBox1.Text = "りんご" if ii=3 then ComboBox1.Text = "すいか" 環境 VB 2008 express OS Windows XP

  • チェックボックスをレポートで出力するには・・・

    ACCSESS2000を使おうとしています。 チェックボックスを設定しようと思っています。 その際に項目として仮に □りんご、□みかん、□バナナ とします。 「みかん」をチェックしたテーブル項目を印刷画面に表現する際、 「on、off」ではなく、「みかん」とだけ出て、りんご、バナナの文字を出さなくする方法はあるのでしょうか? 初歩的な質問で申し訳ありませんがお教えください。

  • リストボックスから選択、結果を表示する。

    お世話になります。 perlでcgiを作りたいのですが、 簡単なsampleはないでしょうか。 参考になるようなページを教えていただければ十分です。 【機能】 ファイルxをリストボックスから選択させ、 内容を表示する。 【ファイルxの内容例】 リンゴ、青森、300 ミカン、和歌山、60 バナナ、輸入、180 というように、品名、産地、単価の項目が列んでいます。 【動き】 リストボックスでファイルxを表示させ、 選ばれた項目の単価を表示する。 【イメージ】 リストボックス リンゴ ミカン バナナ ↓ ミカンを選ぶ ↓ 単価は60円です。 と表示する。 以上、分かりにくいですが、 宜しくお願いします。

    • ベストアンサー
    • Perl

専門家に質問してみよう