■26038 / ) |
Re[2]: javascriptとcodebehindの処理について |
□投稿者/ Jitta (517回)-(2008/09/30(Tue) 22:55:17)
|
■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 にされていたら、どうします?
(って、みきぬさんへの返信じゃないな)
|
|