- PR -

ValidatorSummaryのShowMessageBoxについて

投稿者投稿内容
くるくる
常連さん
会議室デビュー日: 2003/09/06
投稿数: 27
投稿日時: 2003-09-22 15:18
VisualStudio.NET2003で、ASP.NET Webアプリケーション開発を
行っています。

ボタンをクリックするとバリデータでテキストボックスの
必須入力チェックを行い、ValidatorSummaryのShowMessageBoxを使って
エラー表示をしています。
上記の表示方法でIE6では動作が正常なのですが、IE4ではMessageBox
が表示されずにスクリプトエラーとなってしまいます。
エラーが「'span'はオブジェクトではありません。」というものです。

試しにShowMessageBox=falseにし、ShowSummary=trueした場合はIE4でも
エラー表示はされていました。

IE4ではValidatorSummaryのShowMessageBoxを使うことはできないのでしょうか?

よろしくお願い致します。
くるくる
常連さん
会議室デビュー日: 2003/09/06
投稿数: 27
投稿日時: 2003-09-24 12:18
レスポンスがなくて困っています。。。。

できるかできないか、だけでもけっこうですので、
ご存知の方いらっしゃいましたらよろしくお願い致します。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2003-09-24 12:43
こんにちは。

引用:

もつさんの書き込み (2003-09-22 15:18) より:

IE4ではValidatorSummaryのShowMessageBoxを使うことはできないのでしょうか?




バリデーションコントロールは使ったことがないので何とも言えませんが、
それをブラウザで表示した時のHTMLを見て、そこがIE4でも有効かどうか
調べてみてはどうでしょうか。(JavaScriptの部分だと思いますが・・・?)

#IE6とIE4では色々な面での違いが大きいので、IE4を使用しないのが賢明かも。
くるくる
常連さん
会議室デビュー日: 2003/09/06
投稿数: 27
投稿日時: 2003-09-24 17:48
こんにちは。
さっそくのレスありがとうございます。

未熟者なのでよくわからかったのですが、
IE4でも有効かどうかというのは、IE6のHTMLソースと
同じということなのでしょうか?
実際2つのソースを見比べてみたら同じでした。

IE4を使用しないのがほんと一番いいのですが、IE4にも対応させなければ
いけないらしいです。。。

まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2003-09-24 18:11
すみません、私の説明が不足していたようで・・・。

例えば、<INPUT AUTOCOMPLETE="OFF">というタグは
IE6では有効ですがIE4では無効です。(つまりサポートされていない)

考えられる原因としては、IE4でサポートされていないタグがあるからなぁ、
と思い先ほどのような回答をしたわけです。

差し支えなければその辺のHTML(JavaScript含む)を見せて頂けると
解決できそうな気もするのですが・・・。
#スクリプトと、スクリプトエラーになったときに指摘された行とその前後の
#タグがあれば分ると思います。たぶん(弱気)
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-09-25 11:19
こんにちは。

 これでいいかどうか。。。
「.NET Framework 1.1 必要システム」
http://www.microsoft.com/japan/msdn/netframework/productinfo/sysreqs/default.asp
引用:

.NET Framework SDK のセットアップを実行する前に、Microsoft Internet Explorer 5.01 またはそれ以上がインストールされていることを確認してください。


MS手抜き。なんで「.NET Framework再頒布パッケージ 」のその他にまで「SDKのセットアップを」なんだよ!!

 この通り、.NET FrameworkではIE4はサポートされていません。  で、ダメ?
ぢゃん♪
大ベテラン
会議室デビュー日: 2003/06/12
投稿数: 208
お住まい・勤務地: 都内
投稿日時: 2003-09-25 11:35
引用:

Jittaさんの書き込み (2003-09-25 11:19) より:
 この通り、.NET FrameworkではIE4はサポートされていません。  で、ダメ?


ASP.NETで構築されたWebサイト(Webアプリケーション)を閲覧する側にも .NET Frameworkのインストールを強要することができれば、ですよね。

そういえば、ASP.NETで構築されたWebアプリケーションを閲覧するための条件(必要システム)って、どうなんでしょうね……。


[ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2003-09-25 11:38 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-09-25 12:11
引用:

ぢゃん♪さんの書き込み (2003-09-25 11:35) より:

ASP.NETで構築されたWebサイト(Webアプリケーション)を閲覧する側にも .NET Frameworkのインストールを強要することができれば、ですよね。

そういえば、ASP.NETで構築されたWebアプリケーションを閲覧するための条件(必要システム)って、どうなんでしょうね……。


 あ゛〜!そうでした。というか、.NET Framework(実行環境)に「IE5.01以上をインストール」と書いてあるので、ASP.NETで作ったものを見るのにIE5.01以上が必要と思っていました。

 ところで、DHTMLをサポートしたのがIE4なので、スタイルシートなどを使おうと思ったらIE4以上が必要となりますね。ところが、VS.NETのソリューションエクスプローラからプロジェクトのプロパティを表示すると、「共通プロパティ→デザイナの規定値」に、「ターゲットスキーマ」というコンボボックスがあり、この選択肢に「IE3.02およびNN3.0」というのがあります。ということは、IE3.02以上で動作させれる?


 また、ここで問題になっているValidatorは、結局
%SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\ASP.NETClientFiles\WebUIValidation.js
のファイルに、処理を依存していると思います。この中にはブラウザやバージョンによって処理を分ける処理は入っていないので、それらを入れれば動くと思います。問題のエラーは394行目で発生しているようです。


 MSDNのトピック「ASP.NET サーバー コントロールのクライアント側検証」には、
引用:

ユーザーが使用しているブラウザが Internet Explorer 4.0 以降である場合、検証コントロールはクライアント スクリプトを使用して検証を行うこともできます。

クライアント側の検証を行うには、対象のブラウザで、ECMAScript 1.2 (JScript) 以降がサポートされ、さらに Internet Explorer 4.0 以降と互換性のある DOM (Document Object Model) がサポートされている必要があります。


とありますねぇ。。。

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