我正在使用jQuery绑定inputText的keyup事件,因此它的值将设置为span文本。
<h:form id="formId">
<script type="text/javascript">
$(document).ready(function(){
var portletNamespace = '#<portlet:namespace/>\\:formId\\:';
$(portletNamespace+'txtSimpleText').live('keyup',function(){
$(portletNamespace+'spanText').text($(portletNamespace+'txtSimpleText').val());
});
});
</script>
<h:inputText id="txtSimpleText" value=""/>
<h:inputText required="true" value=""/>
<h:outputText id="spanText"></h:outputText >
<h:commandButton actionListener="#{myController.someAction}" value="do somthing"/>
</h:form>
它工作正常,但在第一次验证失败时我丢失了我的spanText文本!这只是第一次发生;在第二次验证失败时,spanText文本仍然存在。 我只在视图层中需要它,并且在提交表单后不需要使用它。 请告诉我如何在验证失败后恢复我的spanText!
PS:我无法使用Ajax存储和设置spanText的值。