2013-03-11 117 views
3

我在頁面上有一個表單,用於在特定的舞臺上註冊各種娛樂節目。提交完所有細節並點擊提交按鈕後,它應該檢查某一節目在某個特定日期是否存在。如果有任何程序存在,一個div應該顯示現有程序的全部細節。我的問題是,如果有任何程序存在,我需要把重點放在新生成的div上(我的意思是div應該是可見的,不需要編輯)。我需要它,因爲div是在AJAX的幫助下生成的,而且表單太冗長了,所以用戶看不到生成的div,除非他/她向上滾動。 注意:div創建在頂部位置。 有沒有什麼辦法讓DIV部分是提交表單在點擊按鈕後將焦點放在特定的div上

回答

0

使用以下語句適用於我。

document.getElementById('id').scrollIntoview(); 
+0

它給我的錯誤遺漏的類型錯誤:無法讀取空的特性「scrollIntoview」 – harshal 2016-02-11 20:56:22

+0

@harshal可你剛纔告訴我你是怎麼做的.. – Techy 2016-02-14 05:42:49

+0

這從大多數瀏覽器缺乏支持: https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView – 2017-01-10 22:05:37

1

後可見嘗試window.scrollTop = #VALUE;

3

您可以滾動到頁面的頂部:

window.scrollTo(0,0); 

或使用jQuery使用:

$('html,body').scrollTop(0); 

或用一些有趣的效果

$('html, body').animate({ scrollTop: 0 }, 'fast'); 
6

您可以使用這樣的代碼跳轉到div

$(window).scrollTop($('#new_div').offset().top-20) 
11

定期,你不能專注一個div。但是,如果你將一個tabindex屬性添加到它,它會工作:

<div tabindex="1">test </div> 

這裏是一個演示:http://jsfiddle.net/XE2jU/1/

如果您在測試按鈕DIV單擊應成爲重點,跳進視圖。 點擊我只是做類似divElement.focus()

另一種選擇是滾動區域,其中包含您新添加的div,就像在這裏的其他答案一樣。

2
<input type="button" onclick="$('#c')[0].focus()" value="test focus" /> 
<div> 
    <div id="c" tabindex="1" style="margin-top:800px;">testing</div> 
</div> 

jsfiddle example.

+0

我沒有downvote你的答案。我已經upvoted你的答案 – Techy 2013-03-12 04:52:04

+1

最有可能倒下投票,因爲它缺乏解釋和使用jQuery內聯。我會說這些都是不好的練習。 jQuery在這裏也沒有被提及。在回答JS問題時需要小心,假設他們正在使用你的庫,除非他們真的說出來。 – 2017-01-10 22:08:04

相關問題