2010-06-14 226 views
4

我有一個網頁,當用戶在其中輸入一些數據,然後點擊提交按鈕如何定位的頁面。我處理數據,然後使用相同的Django模板顯示原始數據,提交按鈕和結果。當我使用Django模板顯示結果時,我希望頁面自動滾動到結果開始頁面的那一部分。這樣,如果用戶想更改原始數據並再次點擊提交,用戶可以滾動備份頁面。希望這樣做有一些簡單的方法,目前我看不到。Django的:使用Django模板

回答

11

如果在表格的操作方法提供fragment identifier它應該已工作:

<form method="post" action="/your/url#results"> 
    <!-- ... --> 
</form> 

及以下地方的形式,即要顯示的結果:

<div id="results"> 
    <!-- your results here --> 
</div> 

這應該使頁面跳轉到<div>,ID爲results

它是完整的客戶端站點並沒有涉及Django的,JavaScript或類似。

+0

嗨菲利克斯。我很好奇,如果表單不會在django視圖中驗證,會發生什麼情況。我沒有測試,但我認爲頁面將向下滾動,同時表單中有一些錯誤,並且沒有要顯示的數據。我對嗎? – dzida 2010-06-14 10:02:38

+0

這很好。謝謝! @Dzida我只加了結果的div,如果有一定的效果,所以在一個錯誤的情況下,它不會滾動。 – FunLovinCoder 2010-06-14 10:06:48

+0

@Dzida,@swisstony:沒錯,如果沒有與此ID的元素,什麼都不會發生:) – 2010-06-14 10:07:40

1

您需要將數據包弄成這個樣子:

<div id="some-id">YOUR DATA TO BE DISPLAYED</div> 

,如果你做重定向在你看來,你需要重定向到URL:/some-url/#some-id

,如果你不使你重定向需要使用JavaScript滾動到底部(但請注意,重定向是保存數據後在視圖中使用的優先方式)。