- PR -

JavaScriptのwindow.showModalDialogで開いた画面

1
投稿者投稿内容
ゆうたっち
会議室デビュー日: 2006/08/30
投稿数: 10
投稿日時: 2006-12-12 09:43
JavaScriptのwindow.showModalDialogで開いた画面に関して教えてほしいことがあります
モーダルで開かれている画面に表示している文字列をコピーしてエクセルなどに貼り付けたいのですがモーダル画面ではそのようなことはできないのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-12 14:24
引用:

ゆうたっちさんの書き込み (2006-12-12 09:43) より:

JavaScriptのwindow.showModalDialogで開いた画面に関して教えてほしいことがあります
モーダルで開かれている画面に表示している文字列をコピーしてエクセルなどに貼り付けたいのですがモーダル画面ではそのようなことはできないのでしょうか?


クライアント スクリプトを使って、Excel の Worksheet にペーストしたいということでしょうか?
「モーダル "だから" できない」 ということはないと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ゆうたっち
会議室デビュー日: 2006/08/30
投稿数: 10
投稿日時: 2006-12-12 15:07
言葉足らずで、申し訳ありません。
スクリプトを使ってではなく、モーダル画面にてマウスを使って表示されている文字(ラベル)を選択してコピーしたいのです。
モーダルでない場合は選択してコピーしたものをメモ帳などに貼り付けられますが
モーダルだと選択すらできない状態です。
したいことは、モーダル画面で表示された内容の一部をコピーしてメモ帳に貼り付けることです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-12 15:19
引用:

ゆうたっちさんの書き込み (2006-12-12 15:07) より:

モーダルでない場合は選択してコピーしたものをメモ帳などに貼り付けられますがモーダルだと選択すらできない状態です。
したいことは、モーダル画面で表示された内容の一部をコピーしてメモ帳に貼り付けることです。


選択できないものを "選択してコピーして貼り付けする" ことは、普通に考えて無理でしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2006-12-12 16:30
やるのであれば
選択させたい場所をtype="text"にしたり
textareaにしたりすればいいと思います。
ゆうたっち
会議室デビュー日: 2006/08/30
投稿数: 10
投稿日時: 2006-12-12 16:35
確かに、選択できないものはコピーできません....
質問が悪いので質問の仕方を変えます

WEBの画面でA画面からB画面を表示します
そのときB画面はモーダルで表示したいのですが、そうするとB画面に表示された内容をコピーしたりできません。
現状はモーダル表示するときはJavaScriptのwindow.showModalDialogを利用しています

そこで教えてほしいのですが
・モーダル表示するにはJavaScriptのwindow.showModalDialogしかないのでしょうか?
 そうだとすればB画面で内容をコピーする方法はないということでしょうか?
 もし他の方法でモーダル表示することが可能なのであればお教え願えますでしょうか

環境
VisualStudio.net2003、C#
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-12-12 16:52
モーダルダイアログを使うか使わないかは、ダイアログをモーダルにしたいかしたくないかで決まります。
モーダルにした場合はA画面にはフォーカスできません。
showModalDialog 以外にモーダルダイアログを表示する方法はわかりませんが、他の方法があったとしても、コピーはできないと思います。
フォーカスできないわけですから。
フォーカスできる方法がみつかったとしたらそれはモーダルダイアログではないかと。


コピーしたい値が配置されている場所がいつも決まっているのであれば、B画面上の JavaScript で A 画面の特定の値をとってくるような仕組みはつくれるかもしれませんね。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-12 16:55
引用:

ゆうたっちさんの書き込み (2006-12-12 16:35) より:

・モーダル表示するにはJavaScriptのwindow.showModalDialogしかないのでしょうか?
そうだとすればB画面で内容をコピーする方法はないということでしょうか?


(前の文章から、"そうだとすれば" には繋がらないと思いますが)
文字が選択できないとすれば、文字を選択してのコピーはできないでしょう。
あすかさんの仰るとおり、<input> 要素などを使って、選択さえできれば可能ですね。

先の投稿で言いたかったのは、

クライアント スクリプトで全体のコピーを取ることは可能だと思います。
しかし、"選択した部分をコピー" については、"選択できないから" という理由で破綻します。

ということです。

私の書き方もまずかったみたいです。
申し訳ありません。(*_ _)

引用:

もし他の方法でモーダル表示することが可能なのであればお教え願えますでしょうか


残念なことに、他の方法はありません。
ついでに言うと、showModalDialog は、今のところ IE くらいでしか対応していません。

引用:

VisualStudio.net2003、C#


そういえば、質問内容は JavaScript のことですよね。
Java Solution 会議室ではなく、Insider.NET 会議室か、リッチ クライアント会議室が望ましいと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

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