- PR -

Javaスクリプトが消えてしまう。

1
投稿者投稿内容
ダン
会議室デビュー日: 2006/12/22
投稿数: 5
投稿日時: 2007-02-05 18:52
よろしくお願いします。

何度かスレッドが立ち上がっている
「子画面から親画面への値の設定」
の処理を作成していたのですが、
子画面から親画面への値の設定自体は
みなさんの書き込みを参考に完成しました。
(opener.document.inertext使用)

しかし、この時値を書き込んだ親画面が
Loadされた時に設定しておいた Javaスクリプトが
消えてしまうという現象が起きています。

具体的には、親画面のLoad時に、
RegisterStartupScript()
RegisterClientScriptBlock()
で、設定したスクリプトの部分が
子画面から値を設定した時点で綺麗になくなってしまいます。

この現象への対応策をご存知の方がいらっしゃいましたら
ご助言いただけないかと、書き込みさせていただきました。

よろしくお願いします。

開発環境 :VS 2003 C#、Window XP、IE6.0
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2007-02-05 19:12
opener.document.innerText…?
どこへ書き込もうとしてるんでしょうか?
ダン
会議室デビュー日: 2006/12/22
投稿数: 5
投稿日時: 2007-02-06 09:11
引用:

mioさんの書き込み (2007-02-05 19:12) より:
opener.document.innerText…?
どこへ書き込もうとしてるんでしょうか?



申し訳ありません。
直接関係のある箇所とは思えなかった為、
「こんな感じに使用している」と言った
キーワードを並べただけでした。

詳細は
"window.opener.document.all('" + obj+ "').innerText =' " + strHoge + "';";
として、使用しております。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2007-02-06 09:53
ピリオドではなくカンマで書けば良いと思います。

で、

>"window.opener.document.all('" + obj+ "').innerText =' " + strHoge + "';";

だとどう見てもクォーティングがおかしいので

window.opener.document.all(obj).innerText = '"' + strHoge + '"';

だとして…。これだとopenerのスクリプトに影響を与えることはないですね。
IEでしか動かないというのはさておいて。
なにか他の原因があるような気が。
ダン
会議室デビュー日: 2006/12/22
投稿数: 5
投稿日時: 2007-02-06 10:31
mioさん>
お付き合い頂きありがとうございます。

解決いたしました。
子画面を出した時点で、既にJavaScriptが
消えておりまして、データのセットとは無関係でした。

子画面を出力する際のPostBackにて、
当該のJavaScriptを出力する処理が
スルーされてしまっていました。

凡ミスでした。お恥ずかしい限りです。

ご検討くださった皆様、申し訳ありません!
そして、ありがとうございました。m(__)m
1

スキルアップ/キャリアアップ(JOB@IT)