2013-05-11 51 views
1

所以我想是使用1個按鈕的形式裏面(因爲AJAX要求是這樣的形式?) 到如何通過按下一個按鈕來調用JavaScript函數和ajax命令?

1)調用JavaScript函數,該函數basicly只是做一些動畫(比如淡出和淡入)

2)調用一個Ajax功能更新的「信息」表

所以basicly我想是隻需點擊一個按鈕,如「開始」 那麼JavaScript並像周圍的物體和Ajax將一些客戶方的東西給了我關於被存儲在服務器上的這些對象的信息..

我們的東西看起來是這樣的:

<h:panelGroup layout="block" id="player" class="player"> 
        <h2 class="accessibility">W&uuml;rfelbereich</h2> 
        <span class="accessibility">An der Reihe ist</span><div id="currentPlayerName"><h:outputText value=" #{spiel.getSpieler_Name()}" /></div> 
        <h:commandButton id="dice" alt="W&uuml;rfel" image="resources/img/wuerfel0.png" action="#{spiel.dice()}" tabindex="4" title="W&uuml;rfel"> 
         <f:ajax render=":gameinfo" onevent="animate" /> 
        </h:commandButton> 
       </h:panelGroup> 

所以的GameInfo是從服務器中檢索和使用Ajax

和動畫稱爲信息表是我們的JavaScript函數做動畫..這裏

問題是有生命的犯規WO RK,一旦我們把那個ajaax命令到表單標籤

+0

立即是否animate函數返回或例如等待直到10秒的動畫完成? – dratewka 2013-05-11 14:28:24

回答

0

試試這個:

<h:commandButton id="dice" alt="W&uuml;rfel" image="resources/img/wuerfel0.png" action="#{spiel.dice()}" tabindex="4" onclick="animate();" title="W&uuml;rfel"> 
    <f:ajax render=":gameinfo" /> 
</h:commandButton> 
+0

不起作用,因爲onclick會以某種方式禁用ajax功能=( – qjay 2013-05-11 14:16:06

+0

如果'animate'函數返回false,否則它應該工作 – dratewka 2013-05-11 14:17:20

+0

或者可能有另一種情況 - 如果animate函數需要一些時間(即它在動畫完成後返回),那麼ajax將不會立即發送。 – dratewka 2013-05-11 14:19:37

相關問題