C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 48 を表示中)
■26038 / )  Re[2]: javascriptとcodebehindの処理について
□投稿者/ Jitta (517回)-(2008/09/30(Tue) 22:55:17)
Jitta さんの Web サイト
No26027 (みきぬ さん) に返信
> ■No26017 (ビギナー太郎 さん) に返信
>>Aを実行した場合、@のチェックが行われ、ラベルにメッセージが出るのですが
>>Aの処理が行われしまいます。
>>
> ここの日本語がよくわからないけど、
>
> ボタンをクリックしたときに、
> ・@のJavaScriptによる入力値チェックが行われ、チェックエラーの場合はラベルにメッセージを表示する
> ・コードビハインド側にある、Button1_Click イベント処理が実行される
>
> という2つの処理があって、チェックエラーの場合は後者の処理はさせたくないってこと?
>
> であれば対応は、
> ・ボタンのonclickイベント(JavaScript側)の最後に、チェック結果(TrueならOK,FalseならNG)をreturnする処理を入れる
> ・CustomValidatorを用意して、@の処理をCustomValidatorのクライアント側チェックとして実装し直す
>
> のどちらかかな。
> 後者のほうがすっきりする(実はやったことがないので1回やってみたい)けど、前者でも困りはしないか…な。

JavaScript としては、同じようなコードが吐かれていたと思います。
ただ、onblur でやるより、onsubmit でやる方が、全部まとめて一度にチェックできるので、いいと思います。

もっとも、UX として、「エラーが先にわかるなら、先に知らせたい」というのはもっともで、
その辺は一つの議論になっていたりしますね。
ただ、onblur でやるときの一つの難点は、「エラーになる値が入力されていると、キャンセルできない」ということです。
Windows Forms では、チェックしないコントロールにすることで避けることはできますが、Web ではいろいろ面倒だと思います。


そんなこんなありますが、サーバー側でもちゃんとチェックしてください。
スクリプト切られていたら、ノーチェックです。

スクリプトが off にされていたら、どうします?

(って、みきぬさんへの返信じゃないな)
返信 編集キー/


管理者用

- Child Tree -