2013-05-11 49 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

相关问题