- PR -

モーダルダイアログで表示した表の項目選択

投稿者投稿内容
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-03-24 09:40
全要素をdisableにしておいて、style="position:absolute;z-index:1"なdivを表示して、その中に表を出す、
という方法で、擬似的なモーダルダイアログを表示することができます。
ドラッグできるようにするのは面倒だし、ウィンドウの範囲内から出られませんが。
ゆう
常連さん
会議室デビュー日: 2003/06/27
投稿数: 45
投稿日時: 2006-03-24 10:03
引用:

mioさんの書き込み (2006-03-24 09:40) より:
全要素をdisableにしておいて、style="position:absolute;z-index:1"なdivを表示して、その中に表を出す、
という方法で、擬似的なモーダルダイアログを表示することができます。
ドラッグできるようにするのは面倒だし、ウィンドウの範囲内から出られませんが。



ドラッグはYahoo! UI Libraryあたりを使用すると簡単にできますね。
BSDライセンスだから面倒な制約もないですし。


Yahoo! UI Library
http://developer.yahoo.com/yui/
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-03-24 10:14
showModalDialogで開いたWindowにFrameを追加して、
実際のPageはFrameのsrcに設定してあげるとかではダメでしょうか?

コード:
<FRAMESET rows="*" frameborder="0" border="0" framespacing="0">
    <FRAME id="frameDialog" src="xxx.aspx" noresize scrolling="no" frameborder=0>
</FRAMESET>

burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-03-24 10:25
すみません。。。Frameとか関係ないですね。

Jitta様の紹介したページの
Divタグのcontenteditableで囲めば選択可能ですけど、
あずさ様の始めに提示したTableですと無理ですねぇ。。。


ゆう
常連さん
会議室デビュー日: 2003/06/27
投稿数: 45
投稿日時: 2006-03-24 10:41
コード:
<div id="test" readonly="true" contenteditable="true">
<TABLE>
<TR>
<TD>項目1の1<T/TD>
</TR>
</TABLE> 
</div>



 burton999さんのおっしゃるとおり、divで囲むのはだめなんでしょうか?

 試しにやってみたら、モーダルダイアログでもマーカーように一部の背景
色を変更できましたが。(ASP.NETなので、勝手に異なる要素に変換されたり
していなければですが)
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-03-24 13:10
>悠さん

その方法だと、モーダルでもうまくできますね。
ただ好きなように編集可能なので、
スレ主さんのお客さんに受け入れられるか・・・

TABLEタグの外ではなく、TDタグの中にDIVを入れると、
テーブルそのものを削除したりはできなくはなります。
あずさ
常連さん
会議室デビュー日: 2006/03/13
投稿数: 22
投稿日時: 2006-03-24 17:33
みなさんありがとうございます。
確かに、<div id="test" readonly="true" contenteditable="true">
で実現できそうなんですが、、、
選択はできるんですけど、編集もできてしまいます。。。
編集はさせたくないんですが。。。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-03-25 16:30
<div contenteditable="true" onkeydown="return false">テキスト<div>
で、キーボード操作を受け付けなくすることは可能です。

ただし編集可能状態ではあるので、いくらでも抜け道はあります。
せいぜい単純なユーザ操作による編集を防止する程度です。

モーダルに拘るより、通常のウィンドウで表示するのが一番でしょう。
無意味な拘りのために、複雑な実装を行うよりも、
根本的な解決を行うのが一番だと思います。

ちなみにできない根拠が知りたければ、マイクロソフトに問い合わせるべきでしょう。
Googleでチラッと探してみましたが、それらしき情報は見つかりませんでした。
(探し方が悪かったのかも知れませんが)

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