[英]How to retain focus on asp textbox or any html element) after postback
[英]Keep focus on element after postback
我在ASP.NET MVC視圖中有一堆文本框,這些文本框已提交到服務器。 我如何保留當前焦點,以便用戶可以簡單地在任何文本框上按Enter鍵或單擊“提交”按鈕,並且當頁面返回時(全部通過GET進行),焦點就是用戶離開的地方?
謝謝!
您可以簡單地使用JQuery來設置具有焦點的項目的隱藏表單字段。
<script type="text/javascript">
$(document).ready(function() {
$("input").click(function() {
$("#Focus").val = $(this).attr('id');
});
});
</script>
<form action="#">
<input id="Text1" type="text" />
<input id="Text2" type="text" />
<input id="Text3" type="text" />
<input id="Text4" type="text" />
<input id="Focus" type="hidden" />
</form>
然后,您需要做的就是將其傳遞回頁面並設置焦點
$("#<%= ViewData["Focus"] %>").focus();
您可能想要記錄具有焦點的元素,將其傳遞給控制器,然后讓控制器將其傳遞回去。 然后,一些javascript將重點放在該元素上。
似乎有幾種方法可以找出並記錄哪個元素具有焦點,但沒有一個很棒(請參閱此hack http://trentrichardson.com/2008/05/24/an-attempt-to-find-focus/或此插件http://www.softwareunity.com/jquery/JQueryMoreSelectors/ (大致相同)。
據我所知,沒有更好的方法可以做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.