- - PR -
Enterキーが押されたテキストボックスによってサーバ側の処理を切り替える(Master Pageを利用した場合)
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-05-28 21:16
初めて投稿させていただきます。
VisualStudio 2005にて、C#.NETとASP.NETを使用して Webアプリケーション開発を行っています。 以前紹介された記事 (http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=14892&forum=7) の処理を参考にさせていただき、複数のSubmitボタンと複数のテキストボックス があるフォームにて、Enterキーが押されたテキストボタンによって、 それぞれのSubmitボタンにfocusするという処理を作成しました。 しかし今回、上記のぼのぼのさんの記事の処理でMaster Pageを利用したところ、 処理が動作しないという現象が発生しました。 .NET歴4ヶ月なので、よくわかってない部分が多いのですが、 一つ発見したことは、デバッグしたときにIEでソースコードをみると SubmitボタンのIDが"Button1"から"ct100_Button1"に自動的に変更されて いました。もちろん、これはMaster Pageを利用しなかった場合には 変更されません。 またHTMLのInput Submitボタンを利用した場合も変更されません。 ASPのボタンがビルドされHTML上でInput Submitボタンになったときに IDが変更されます。 今回下記の2つの条件を含んだ上で、テキストボックスでENTERキーを押したときに Submitボタンにfocusするという処理を作成したいと考えています。 ・SubmitボタンのリスナーはServer側。よって、ASPのボタンを利用したいと考えています。 ・Master Pageを利用する どなたか、良い案がある方いませんか? ご教授よろしくお願いします。 [ メッセージ編集済み 編集者: Jony 編集日時 2007-05-28 21:19 ] [ メッセージ編集済み 編集者: Jony 編集日時 2007-05-29 21:37 ] |
|
投稿日時: 2007-05-29 00:13
うあ、懐かしいスレにリンクが張られてるw
当時はプロジェクトの都合でvbscriptを使ってましたが、今ではすっかりjavascript派です。 vbscriptはIEでしか動かないという理由の他に、onclick等に直接埋め込む時、 javascriptの方がセミコロン区切りで複数の構文を書けるのが便利なので、 プロジェクト上の制約が無ければjavascriptの方をお薦めします。 で、リンク先のnanbuさんのコード、以下の2ヶ所を変えてみてください。 1.doTestのdocument.Form1[type].focus();の部分を、document.getElementById(type).focus();に変える 2.divのonkeydownのdoTest('Button1')の部分を、doTest('<%=Button1.ClientID %>')に変える |
|
投稿日時: 2007-05-29 21:34
ぼのぼのさんご返答ありがとうございます。
ぼのぼのさんが教えてくれたとおり、JavaScriptで nanbuさんのコードに変更をくわえた結果、 本当に簡単に動作が確認できました。 本当に感謝です。ありがとうございました。 あと、なぜかタイトルが"Master Page" になっているので 変更しときます。 |
1