2

私のアプリケーションでは、コードの内容を<s:textfield>動的に変更する必要があります。コードを以下に示します。

<script type="text/javascript">
    $.subscribe('before', function(event, data) {                
        $('#text').val('Text Changed by jQuery');
    });               
</script>       

<s:form id="form2" action="textchange" >        
    <s:textfield id="text" name="text" value="Hello World!!!"/>                                                        
    <sj:submit  targets="result" onBeforeTopics="before" />
</s:form>                
   

私の期待する出力は

Text Changed by jQuery

しかし、私は得ています

Hello World!!!

Struts2-jQuery-plugin 3.5.1 を使用しています。動的出力を取得するには?

4

2 に答える 2

1

beforeフォームがシリアル化された後に実行されるため、古い値が使用されます。このようなコードを変更する必要があります

<script type="text/javascript">
  $(document).ready(function(){
   $('#before').click(function() {
       $('#text').val('Text Changed by jQuery');
   });
  });
</script>
<s:div id="result"/>
<s:form id="form2" action="textchange" method="POST">
<s:textfield id="text" name="text" value="Hello World!!!"/>
<sj:submit  id="before" targets="result" />
</s:form>
于 2013-08-16T09:53:03.673 に答える