2015-12-02 38 views
1

我知道這聽起來很瘋狂,但我正在尋找一種方法來製作錨(如<a href="#someId">),該方法可以使用JavaScript從支持bean方法調用。由於某些原因,我需要這樣做,commandButton設置爲ajax="false"使用JavaScript調用支持bean的錨點

我想是這樣的:

RequestContext.getCurrentInstance().execute("JAVASCRIPT THAT FOCUSES MY PAGE ON A HTML COMPONENT GIVEN ITS ID"); 

的想法是,即使沒有AJAX我可以使我的網頁顯示它回到它在哪裏。

任何想法?這可能是一個簡單的JavaScript命令,但我不是真的進入JavaScript,我沒有找到任何簡單的解決方案,可以工作...

+0

你不能有一個backingbean返回/執行javascript在非AJAX調用 – Kukeltje

+0

和**我沒有找到任何簡單的解決方案,工程... ** wha你試過的解決方案?什麼沒有奏效? –

+0

,所以你找到了一個複雜的解決方案,工作? – Kukeltje

回答

1

只需設置location的散列片段。

在JavaScript:

location.hash = "someId"; 

在JSF/PrimeFaces(如果真的有必要):

RequestContext.getCurrentInstance().execute("location.hash='someId'"); 

另一種方法是發送一個重定向:

externalContext.redirect(request.getRequestURI() + "#someId"); 
+0

謝謝BalusC!你的答案都在這裏工作(我沒有得到的效果,但由於其他的東西我本應該在我的XHTML,但你的答案是正確的)。我也能夠找到爲什麼ajax = true沒有工作的原因,並且我用一種更好的方法解決了我的問題,但無論如何它確實是一個很好的教訓。非常感謝你! –

相關問題