下記のソースをフレームを使わないサブウィンドウから実行すると
うまく親ウィンドウの該当項目へセットできますが、
フレームをつかったサブウィンドウからだとうまくセットできません。
ご存知の方おりませんか?
よろしくお願いします。

function setData(theData) {
window.opener.document.MAIN_FORM.DATA0.value = theData[0];
window.opener.document.MAIN_FORM.DATA1.value = theData[1];
window.opener.document.MAIN_FORM.DATA2.value = theData[2];
window.opener.document.MAIN_FORM.DATA3.value = theData[3];
window.opener.document.MAIN_FORM.DATA4.value = theData[4];
}
<input type="button" onClick="setData(Array('000','111','222','333','444'))" value="選択">

このQ&Aに関連する最新のQ&A

A 回答 (1件)

window.top.opener


でどうでしょう?
    • good
    • 0
この回答へのお礼

おぉ~~~!!!
出来ました!

ありがとうございます。
また機会があれば是非!

お礼日時:2001/11/19 17:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qネスケではdocument.main.日本語.valueは絶対だめ?

下記のように日本語のテキストボックスの場合、ネスケではエラーになってしまいますが、日本語のままでできる裏技はないものでしょうね・・・。

function zipsearch()
{
n = document.main.郵便番号.value;
subWin = window.open('zipsearch.cgi?zip=' + n ,"zipsearch","width=300,height=100")
}

Aベストアンサー

それ以前にNetscape以外でも日本語は使わない方がいいですよ。
ただでさえ日本語処理にはバグや妙な仕様が多いですから。

どうしても日本語を使いたいのなら、属性名ではなく、値の扱いをすればなんとかなるのではないでしょうか。
n = document.main["郵便番号"].value;
ただ、どちらにせよこのCGIにGETメソッドで渡す動作はうまくいかないと思います。
nの内容がURLエンコードされませんので。

このエンコードに関することは、ブラウザに任せるのが最良、というのが私の意見です。
JavaScriptでもescape()やencodeURI()等の一見使えそうな関数がありますが、
実は文字コードの問題でうまく動作しません。
なので、既存のフォームと異なる動作を実現する場合にはFORMを動的に生成する、等の手法が必要になります。
単にFORMを新しいページにsubmitしたいのであれば、HTMLの記述で
<FORM target="_blank ...>
とすればOKです。

Qif(document.all && navigator.appVersion.indexOf('Mac')!=-1)returnの意味

よろしくお願いします。
JavaScriptの勉強をしているのですが、参考にしている書籍に以下の構文が出てきまして、それの意味が分からなくて悩んでいます。

//MacIE4,5バグ 回避
if(document.all && navigator.appVersion.indexOf('Mac')!=-1)return

//以降に記してあるとおり、OSがMacintoshだった場合に何らかの処置を行うプログラムなのは分かるのですが・・。
navigator.appVersion.indexOf('Mac')!=-1の部分は、「navigator.appVersion.indexOf('Mac')が1ではなかったら、Macユーザーであるということ、で、falseが返されるのでしょうか?
しかし、そもそもnavigatorオブジェクトはブラウザの種類のことではないのか?と混乱してしまっています。
また、document.allがどのような役割を果たしているのかも分かりません。なぜここでdocument.allが出てくるのでしょうか?

どなたか分かる方いらっしゃいましたら、ご教授宜しくお願いします。

よろしくお願いします。
JavaScriptの勉強をしているのですが、参考にしている書籍に以下の構文が出てきまして、それの意味が分からなくて悩んでいます。

//MacIE4,5バグ 回避
if(document.all && navigator.appVersion.indexOf('Mac')!=-1)return

//以降に記してあるとおり、OSがMacintoshだった場合に何らかの処置を行うプログラムなのは分かるのですが・・。
navigator.appVersion.indexOf('Mac')!=-1の部分は、「navigator.appVersion.indexOf('Mac')が1ではなかったら、Macユーザーであるということ...続きを読む

Aベストアンサー

「document.all」は昔はIEにだけ存在するオブジェクトだったのでIEであるかどうかの判定に使われました。

今ではOperaやNetscape等でもIEへの互換の為に存在するのでIEかどうかの判定に使われる事は減ってきています。
IEであるかどうかの判定ではなく、純粋にdocument.allが在る(使える)かという判定にはもちろん使用されますが。

「navigator.appVersion」は確かにブラウザの種類なんですが、実際にはOS名も含まれていたりすのでOSの判定にも使われたりします。

また、 != -1 というのは indexOf関数の結果が 0~なら文字列が見つかったという意味(真偽ではなく、見つかった位置を返す関数)になるのでこういう比較式を使用しています。
(1でなかったらMacユーザという解釈はちょっと違います。)

参考URL:http://www.openspc2.org/JavaScript/ref/

Qdocument.all.id1.innerText="ok";

・・・・・・・・・・
</head>
<body>
<div id="id1"></div>
</body>
</html>

はネットスケープではどう書けばいいのでしょうか?

Aベストアンサー

そのdivにテキストがあるとか、他に要素があるとかで変わってくるかと思いますが、
質問文のように、中身が何もないdivにテキストを書き込むには次のようにします。
document.getElementById("id1").appendChild(document.createTextNode("ok"));

NNで試してはいないですが、多分うまくいくはず

Qdocument.writeをinput type="text"の value値に

超初心者です。
下記の式にてPHPよりjavascriptにてHTMLに書き出しできましたが
<script type="text/javascript" src="./jsphptest.php?long=3" ></script>この値をHTMLのinput type="text"の value値にデフォルトとして入れたいと思っていますが、どうすればできるのか分かりません。できればボタン等を介さずページをロードすればこPHPからjavascriptのdocument.write値がvalue値に入って欲しいと思っています。簡単なようで難しいことなのでしょうか?どうかご教授よろしくお願いいたします。

Aベストアンサー

それからどうでもいいけど
htmlのタグの順番が適当ですね。

Qjavascript:名('.$data.')で複数のデータを送る方法,(jqueryのload利用)

初めまして、jqueryを勉強し始めている初心者です。
jqueryのloadを利用して、PHPでページ分割作成してますが、
javascript:名('.$data.')で複数のデータを送る方法ご存知の方いましたら、教えていただけないでしょうか。。
何ぶん、勉強初めて、1ヶ月弱のため、不備等がれば、すみません。
hidden等でまとめてid作成すると、うまくページ分割ができませんでしたので
javascript:名('.$data.')で複数のデータを送る方法を検討しています。。
環境、jquery1.4, PHP5.0, eclipse3.5, mysql5.0
(sql等は問題なく動作してます)
//<php側抜粋--testo.php>
<html>
<head>
<script type="text/javascript" src="jquery1.4.js"></script>
<script type="text/javascript" src="testo.js"></script>
<title></title>
</head>
<body>
<div id="box"></div>
<?php
$nm=$_POST['nm'];
$page_num=$_POST['page_num'];

//echo'<a href="javascript:next('.$page.')">次のページへ>></a>';
//↑と1つの値であれば問題なく値をtesto.jsに渡しphploadできます。。

//↓のjavascript:名前('.データ値.')で、2つの値を
//testo.jsでphpに渡しloadしたい。
//↓の解決策すみませんがご存知でしたら、教えてください。
//------ここ質問(1)------
echo'<a href="javascript:next('.$page.','.$nm.')">次のページへ>></a>';
?></body></html>

//testo.js-----
/*function next(page)
{$("#box").load("testo.php",{page_num:page});}
 と1つの値であれば、POSTで正常にtesto.phpに渡せますが
 2つ値を渡したいので、
おそらく、全然ちがったり、間違えていると思います。。
調べてみましたが、分かりませんでした。。
*/
//--質問(2)↓--
function next(page,nm)
{$("#box").load("testo.php",{page_num:page,nm:nm});}

質問は上記(1)(2)です。全ソース記載したいのですが、
文字数オーバーのため、記載できませんでした。。
すみません
おそらく、不備や、勉強の不足さも感じるとは思いますが、
分かりやすく、ソース等で教えていただければ、幸いです。
すみません。。よろしくお願いいたします。

初めまして、jqueryを勉強し始めている初心者です。
jqueryのloadを利用して、PHPでページ分割作成してますが、
javascript:名('.$data.')で複数のデータを送る方法ご存知の方いましたら、教えていただけないでしょうか。。
何ぶん、勉強初めて、1ヶ月弱のため、不備等がれば、すみません。
hidden等でまとめてid作成すると、うまくページ分割ができませんでしたので
javascript:名('.$data.')で複数のデータを送る方法を検討しています。。
環境、jquery1.4, PHP5.0, eclipse3.5, mysql5.0
(sql等は問題な...続きを読む

Aベストアンサー

質問2の方で、2つ渡しているように見えるけど?

複数送る、は、きちんとできているのではなくて


人気Q&Aランキング

おすすめ情報