我正在使用 jQuery 绑定 inputText 的 keyup 事件,以便将其值设置为跨度文本。
<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 的值是有原因的。