
JavaScriptのwindow.openで開いたページに値を渡したいのですが
複数項目ある場合はどうすればいいでしょうか?
▼下記のようなページです。
http://ausdruck.flier.jp/test/window3/oya.html
open1ボタンを押すとサブウィンドウのテキストフィールドにその値が入ります。
ひとつだけならできたのですがopen2,open3,open4,open5というふうにそれぞれ違う値を
サブウィンドウに渡す事ができません、if文などを使えばよろしいでしょうか?
どんな方法でもいいのでご存知の方ご教授お願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>というふうにそれぞれ違う値をサブウィンドウに渡す事ができません
指定する値が固定の値なのか、可変の値なのかで若干変わるのかもしれませんが、方法はいろいろあるかと思います。
簡単に思いつくのは以下のような方法でしょうか。
1)uriのクエリ部を利用して値を渡す
子ウィンドウを開く際にuriのserch部に渡したい値をセットして、
子ウィンドウ側のスクリプトでそれを取得する。
window.open("○○○.html?parameter="+ parameter, ・・・とか
2)渡したい値を親HTMLのどこかにセットしておいて、
子ウィンドウからその値を読みに行く。
(ご提示のサンプルとほぼ同じ方法です)
親ウィンドウの要素はなんでも良いが、例えば<input>要素なら
<input type="text" id="paramaeter" type="hidden" value="">
とか。
3)親ウィンドウ側に値を返す関数を用意し、子側から呼び出して
値を取得する。( 2)の記憶場所を要素でなく関数にした形 )
var func;
function defFunc(parameter){
func = function(){ return parameter; };
}
とか
ほかにもいろいろありそうですが、どのような方法が一番よいのかは実際の使い方と合せて判断するのがよろしいかと。
この回答への補足
下記のような方法で書き換えたのですがやはり意図した通りに動きませんでした。
やろうとしたい事は分かって頂けますでしょうか?
素人なのでよろしくお願い致します。
function set(){
var open1 = window.opener.document.getElementById('open1').value;
var open2 = window.opener.document.getElementById('open2').value;
var open3 = window.opener.document.getElementById('open3').value;
var open4 = window.opener.document.getElementById('open4').value;
var open5 = window.opener.document.getElementById('open5').value;
if (open1 == 'open1') {
document.getElementById("open1").value = window.opener.document.getElementById("open1").value;
} else if(open2 == 'open2') {
document.getElementById("open1").value = window.opener.document.getElementById("open2").value;
} else if(open3 == 'open3') {
document.getElementById("open1").value = window.opener.document.getElementById("open3").value;
} else if(open4 == 'open4') {
document.getElementById("open1").value = window.opener.document.getElementById("open4").value;
} else if(open5 == 'open5') {
document.getElementById("open1").value = window.opener.document.getElementById("open5").value;
}
}
No.2
- 回答日時:
window#open() の戻り値は 子画面の window オブジェクトです。
使い方は親画面のwindowオブジェクトと同様。
親画面の場合
window.document...
は
document...
と省略が可能なだけ。
No.1
- 回答日時:
var win01 = [];
function dispw(i)
{
win01[i]=window.open("sub.html","","width=500,height=400");
}
window.open の戻り値が理解できてるようなのでJs側のみ変更方法を。
sub.htmlに以下の記述をしてみましたのですがやはりうまくいきませんでした。
for文やインクリメントの使い方はあまりよく分からないのですが、こういう感じの方法でしょうか?
function set(){
for(i=0;i<5;i++){
document.getElementById("open1").value = window.opener.document.getElementById("open[i]").value;
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- その他(ソフトウェア) Figma 1 2023/06/23 14:22
- Excel(エクセル) excelvbaのenableeventsについて 3 2022/08/30 11:20
- ロック・パンク・メタル ハードロックバンドのPOIZONに関して教えて下さい。 2 2022/04/25 15:49
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- InternetExplorer(IE) 文字を太くする 1 2022/07/18 04:02
- UNIX・Linux linux(lubuntu)vivaldi-stable上でのxdg-openの扱いについて 1 2022/07/23 20:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
別のウィンドウのフォームへの入力
-
Javascript_submit()完了後に処...
-
1クリックでモーダルを開いてか...
-
ウィンドウ名からウィンドウオ...
-
IE8で読み込みが完了したウィン...
-
ウィンドウのロードが終了した...
-
サブウィンドウを指定の位置に開く
-
VBAで任意のウインドウのサイズ...
-
Excelの機能で、
-
タスクバーに非表示
-
ポップアップと作業ウィンドウ...
-
サブウィンドウと、親ウィンド...
-
子ウィンドウを常に手前表示、...
-
JavaScriptで指定Windowを最大...
-
外部JSファイルでポップアップ...
-
pythonで変数にオブジェクトを...
-
googleサイトにfacebookのいい...
-
excel vbaでウィンドウの整列を...
-
window.onloadの実行と抑止の分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
デスクトップ画面を4分割するには
-
VBの画面で、全ウィンドウを一...
-
ウィンドウの2重起動を防止したい
-
VBAで任意のウインドウのサイズ...
-
javascriptで開いたウィンドウ...
-
1クリックでモーダルを開いてか...
-
ポップアップと作業ウィンドウ...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
ウィンドウ名からウィンドウオ...
-
子ウィンドウの存在確認
-
子ウィンドウより親ウィンドウ...
-
googleサイトにfacebookのいい...
-
子ウィンドウから親ウィンドウ...
-
初心者javascript グーグルクロ...
-
リンク時、親ウインドウを最前...
-
子ウィンドウから親ウィンドウ...
-
JavaScriptで指定Windowを最大...
-
親ウィンドウから開いた子ウィ...
おすすめ情報