
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
window.openで値の渡し方を教えてください。
JavaScript
-
ラジオボタンの選択肢をサーブレットで取得するには?
Java
-
window.open でのファイル指定方法
JavaScript
-
-
4
子ウィンドウの存在確認
JavaScript
-
5
jsp/Servletの動的に増えるフォーム情報受け取りについて質問です。
Java
-
6
window.openでタイトル名の指定
JavaScript
-
7
javascriptで文字列のsjis利用可能チェックをしたい
JavaScript
-
8
Javascript_submit()完了後に処理したい
JavaScript
-
9
[Java] Edgeでのアドレスバー非表示について
JavaScript
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
VBの画面で、全ウィンドウを一...
-
ウィンドウの2重起動を防止したい
-
Javascript_submit()完了後に処...
-
javascriptで開いたウィンドウ...
-
ポップアップと作業ウィンドウ...
-
デスクトップ画面を4分割するには
-
IEでのみ発生するJavaScriptエラー
-
セキュリティ警告 エクセルVBA...
-
ホームページ全体を拡大・縮小...
-
インタネットからPDFファイルだ...
-
子ウィンドウを常に手前表示、...
-
子ウィンドウから親ウィンドウ...
-
新しく開いたウィンドウへの要...
-
処理終了後にウインドウを閉じる
-
VBAで任意のウインドウのサイズ...
-
window.open( ) の第2引数
-
子ウィンドウの「閉じる(×)」...
-
子ウィンドウより親ウィンドウ...
-
ウィンドウ名からウィンドウオ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
VBの画面で、全ウィンドウを一...
-
javascriptで開いたウィンドウ...
-
ポップアップと作業ウィンドウ...
-
VBAで任意のウインドウのサイズ...
-
デスクトップ画面を4分割するには
-
1クリックでモーダルを開いてか...
-
ウィンドウの2重起動を防止したい
-
ブラウザの×ボタンを効かなくす...
-
親ウィンドウから開いた子ウィ...
-
ウィンドウ名からウィンドウオ...
-
openで開いた子ウィンドウで表...
-
ホームページ全体を拡大・縮小...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
インタネットからPDFファイルだ...
-
子ウィンドウより親ウィンドウ...
-
window.Openをモーダルにできま...
-
flashmx2004でリンク先を・・・
-
助けてGmailでボタン表示が消え...
おすすめ情報