让我们考虑一下代码示例:
<rich:tabPanel switchType="ajax">
<rich:tab label="tab1">
...
</rich:tab>
<rich:tab label="tab2">
...
</rich:tab>
</rich:tabPanel>
这将创建一个包含2个选项卡的简单选项卡面板,使用Ajax刷新<rich:tabPanel>
的内容。
因此,如果我在tab1
并点击tab2
,则会向服务器发送Ajax请求以获取tab2
内容。我担心的是,如果用户双击tab2
,则会发送两个 Ajax请求(实际上会发送与用户快速点击的次数一样多的请求这个标签标题)。
所以我的问题是如何避免发送多个请求,即使用户在标题页上多次点击?
我尝试在ondblclick="return false;"
和<rich:tab>
上设置<rich:tabPanel>
,但这并没有解决我的问题。
答案 0 :(得分:0)
您可以使用在ajax请求期间向用户显示的弹出窗口。因此用户无法单击按钮,选项卡等。例如,
<a4j:status id="commonAjaxStatus" onstart="javascript:Richfaces.showModalPanel('ajaxLoadingPanel')"
onstop="javascript:Richfaces.hideModalPanel('ajaxLoadingPanel')">
<f:facet name="start">
<r:modalPanel id="ajaxLoadingPanel" moveable="false" resizeable="false" width="239" height="40" zindex="1000">
<h:graphicImage value="../img/ajax-loader.gif" />
</r:modalPanel>
</f:facet>
<f:facet name="stop">
</f:facet>
</a4j:status>
如果您将此代码插入您的页面,则在ajax请求中将打开一个弹出窗口,当请求完成时,弹出窗口将消失。