ページの一部にポストバックを引き起こす更新パネルがあり、ポストバック後にフォーカスを持つコントロール(更新パネルにない)がフォーカスを失います。フォーカスがあったコントロールを特定してその値を保存するにはどうすればよいのですか。ページがリロードされたときに再フォーカスすることができます。ありがとうございました。C#のフォーカスコントロールの検出
答えて
まず、すべての入力にフォーカスをバインドし、最後にフォーカスを当てたコントロールIDを保持します。 UpdatePanelの負荷を完了した後に続いて、私は思うが、私はそれを作るためのjQueryを使用しますが、私はここに私の考えを提示し、あなたはもう少しコードでそれを作ることができるということである最後の1
// keep here the last focused id
var LastFocusedID = null;
function watchTheFocus()
{
// on every input that get the focus, I grab the id and save it to global var
$(":input").focus(function() {
LastFocusedID = this.id;
});
}
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
function InitializeRequest(sender, args) {
}
// after the updatePanel ends I re-bind the focus, and set the focus
// to the last one control
function EndRequest(sender, args) {
if(LastFocusedID != null)
$('#' + LastFocusedID).focus();
watchTheFocus();
}
jQuery(document).ready(function()
{
watchTheFocus();
});
にフォーカスを設定しましたjQueryを使って
activeElement
とhasFocus
プロパティのHTMLDocument
オブジェクトを使用して、どの要素にフォーカスがあるのかをjavascriptで取得できます。
HTML5のため、すべてでサポートされていない可能性があります。
aspxページやC#コードの背後にはどこでどのようにすればよいですか?通常のHTMLはどうですか? –
隠し入力フィールド "focusedControl"を持つことができます。クライアントがフォームをPOSTする前に、activeElement IDを入力に入れます。ページをクライアントに送り返すときは、DOMでIDを検索してコントロールをフォーカスするjavascriptイベント '
'を設定します。 –詳細な例を教えてください。それは非常に有用であり、非常に高く評価されます。ありがとうございました。 –
あなたは、私がまだのjQueryを使用していないよ、あなたはjQueryのせずに詳細な例を与えることができれば、それは非常に役に立つことと非常に高く評価できるよう、私はJavaスクリプトで弱いよこの
var last_focused = null;
$(function() {
//store last focused element.
$("input").live("focus", function(){
last_focused = $(this);
});
});
//in Script manager
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_pageLoaded(pageLoaded);
function pageLoaded(sender, args)
{
if(last_focused != null)
{
last_focused.focus();
}
}
それはJavaScriptでですか?スクリプトマネージャコードはどこに置かれますか。私はjavascriptで弱いです。 –
はいこれはjavascriptです。これはasp.net.Windowsのjqueryのマイクロソフト製品です。ここでは、asp.net.Whenで表示されるように、いくつかのイベントがpage_loadのようにトリガされます。更新パネルが更新されると、この関数は自動的に呼び出されます。 //msdn.microsoft.com/en-us/magazine/cc163354.aspx – sathishkumar
スクリプトやコードのどこでこれを書かなければならないのかの詳細な説明と詳細が参考になるかもしれません。ありがとうございました。 –
- 1. C++のブロブ検出
- 2. C#サウンドカードの検出
- 3. CでのEOFの検出
- 4. Cのロケールセンシティブディジットの検出
- 5. C/C++でのOSの自動検出
- 6. Tarjanサイクル検出のヘルプC#
- 7. クローズドソケット接続の検出C#
- 8. C#の音声検出
- 9. C# - >ブラウザ幅の検出
- 10. C#リモートアシスタンス接続の検出
- 11. C#でのエッジ検出
- 12. C#検出サーバーの設定
- 13. C/C++でのロバストな顔検出?
- 14. C++ビデオストリーム検出FPS
- 15. C++ SFML Collison検出
- 16. フォームの後にフォーカスコントロールが表示されます
- 17. C#色複数の結果の検出
- 18. 衝突検出のバウンスの問題C#
- 19. CのSIFT機能の検出
- 20. C++でのOpenCVのCanny Edge検出
- 21. 私のキーボードの不正な検出(C#)
- 22. C#でのクラップ音の検出
- 23. C#.Netでのクローズドフォームの検出
- 24. C++テンプレートメタプログラミングのvoidメソッドの検出
- 25. Cコンパイル時のプレフィックス位置の検出
- 26. CのtxtファイルのEOFを検出
- 27. 正弦波の最初のピークの検出/変数の変化の検出C#
- 28. C#抽象形検出
- 29. OpenCV "Blured Corners"検出器(C++)
- 30. C#2D衝突検出の問題
のように解決することができます。ありがとうございました。 –
@DovMillerチェックする必要がある唯一のjQueryは$( ":input")です。focus()は、入力のフォーカストリガーに関数を追加するものです。残りはすべてシンプルなjavascriptです。 – Aristos