1

jQueryを使用してinputTextのキーアップイベントをバインドしているため、その値はスパンテキストに設定されます。

<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 テキストが失われます。これは初回のみ発生します。2 番目の検証が失敗したとき、spanText テキストはまだそこにあります。ビューレイヤーでのみ必要であり、フォームが送信された後に使用する必要はありません。検証が失敗した後に spanText を復元する方法を教えてください!

PS: Ajax を使用して spanText の値を保存および設定できないのには理由があります。

4

0 に答える 0