当每个字段失去焦点时,我想验证表单中的每个字段,当发生这种情况时,我希望这些操作发生:
1)在字段的右侧出现一个图像,一个.gif(表示系统正在检查用户输入)
2)当完成时出现另一个.gif(例如,取决于输入,'sucess.gif'或'error.gif')和右侧的消息.
我不想使用弹出窗口或类似的东西,用户将失去可用性,我不想要这个.
我正在尝试做这样的事情,这是我到目前为止所做的:
<h:form id="form">
<h:panelGrid columns="3" >
<h:outputLabel for="first_name" value="First Name:" />
<h:inputText id="first_name" value="#{register.bean.firstName}" >
<f:ajax event="blur" render="m_first_name" />
</h:inputText>
<a4j:status name="ajaxStatus">
<f:facet name="start">
<h:graphicImage name="loader.gif" library="images" />
<h:outputText value="Processing ..." />
</f:facet>
</a4j:status>
<a4j:commandButton value="Register !" action="#{register.validateName}" status="ajaxStatus" />
</h:panelGrid>
</h:form>
Run Code Online (Sandbox Code Playgroud)
我正在寻找谷歌的一些解决方案
<a:a4j ... >
Run Code Online (Sandbox Code Playgroud)
因为onbegin和oncomplete属性,我是最好的选择.在JSF 2中的某些本地标记中有一些属性吗?
更新:@BalusC方法:
<!DOCTYPE html>
<html lang="pt-br"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>Insert title here</title>
<script type="text/javascript">
function showProgress(data) {
var inputElement = data.source; // …Run Code Online (Sandbox Code Playgroud) 如何通过选中/取消选中selectBooleanCheckbox来重新加载页面(并更新模型值)?
@Ellie:我都尝试<a4j:ajax event="click" action="doiListView"/>和<f:ajax event="click" action="doiListView"/>,但没有任何反应.(片段)代码是这样的:
<td style="font-size: 5pt; border: 0; min-width:60px">
<rich:calendar id="creationToDate" value="#{listModel.creationDate.rangeEnd}"
datePattern="yyyy-MM-dd" enableManualInput="true"
rendered="#{listModel.creationDate.range}"
valueChangeListener="#{listController.filterFieldChanged}">
</rich:calendar>
</td>
<td rowspan="2">
<h:selectBooleanCheckbox value="#{listModel.creationDate.range}">
<a4j:ajax event="click" action="doiListView"/>
</h:selectBooleanCheckbox>
</td>
Run Code Online (Sandbox Code Playgroud)
如果选中该复选框,则应该可以看到日期选择器.但是根据你的提示,没有任何反应......如果我在selectBooleanCheckbox标签中添加onclick ="window.location.href = window.location.href",那么它可以工作,但正如我所说的,我想使用RF组件可能...