■No77239 (どらーな さん) に返信
> Loadイベントで動作を制御すれば良かったんですね
思い違いをされていると思います。「動作を制御」しているのではありません。
サーバー側の Load イベントで行っていることは、ASP.NET が ImageButton を html
コードの input type="image" 要素にレンダリングする際、onkeydown 属性に
JavaScript のコードを設定するようにしているだけです。
結果、以下のようなコードになります。html ソースを見てください。
<input type="image" ...
onkeydown="if (event.keyCode == 13) return false;"
... />
その後はサーバーは関係なくて、クライアント側だけでの JavaScript による制御の話
になります。このコードにより、Enter キーが押されたときは false が返されるよう
になり、form は submit(ポストバック)されなくなるということです。
Web アプリ開発は、サーバー側で起こっていることとクライアント側で起こっているこ
との違いを強く認識して行いましょう。そうでないと、今後の開発で間違いなくハマり
ます。
#問題は解決したそうですので、「解決済み」にしておきます。
|