2012-04-10 3 views
0

У меня есть случай использованиеАякса результата ДИВО обновление в struts2

<html> 
<head> 
    <s:head /> 
    <sj:head jqueryui="true" /> 
    <script type="text/javascript"> 
       $.subscribe('hideTarget', function(event, data) { 
       $('#'+event.originalEvent.targets).hide("blind"); 
       }); 
    </script> 
</head> 

<body> 
    <div align="left" > 
     <div class="demo" align="center"><a href="#" id="button">Run Effect</a></div> 
     <div id="effect" style="display:none;"> 
      Upload Photos Here 
      <s:form action="AjaxTest" method="post" theme="xhtml" enctype="multipart/form-data" > 
       <s:file name="userImage" label="User Image" /> 
       <sj:submit targets="result" effect="blind" effectMode="show" onEffectCompleteTopics="hideTarget" value="Upload" button="true" /> 
      </s:form> 
      <br/> 
      <img id="indicator" src="progressbar.gif" style="display:none" alt="loading"/> 
     </div> 
     <sj:div effect="pulsate" effectDuration="1500" onEffectCompleteTopics="hideTarget" cssClass="welcome" id="result"></sj:div> 
    </div> 
    <!-- End demo --> 
</body> 

, как вы можете видеть я загрузив один файл с помощью AJAX вызова. когда вы нажмете ссылку «Запустить эффект», div будет переключаться вниз в том, что тег файла будет иметь их, выбрать файл, загрузить его, и он будет отображать успешно загруженное сообщение с эффектом и после него скрыть это сообщение об успешном завершении. до этого он отлично работает, но моя проблема заключается в том, что когда вы хотите загрузить другой файл, он будет отображать файл, который вы также можете выбрать, но когда вы отправляете форму, она не отображает успешное сообщение, но файл загружается на сервер, а также в тег файла предыдущее название загруженного файла является их

Примечание: мое требование должно показать успешно закачанный сообщение для каждого пользователя время представляет форму с помощью Ajax позвонить

мой success.jsp является

<body> 
    <s:if test="hasActionMessages()"> 
     <s:actionmessage/> 
    </s:if> 
    <s:if test="hasActionErrors()"> 
      <s:actionerror/> 
    </s:if> 
</body> 

Struts.xml

<action name="AjaxTest" class="AjaxCallAction"> 
     <result name="success">/success.jsp</result> 
    </action> 

так же, как ссылку ниже этой http://www.weinfreund.de/struts2-jquery-showcase/index.action

+0

Если вы знакомы с jQuery избавиться от этих тегов sj и напрямую использовать jquery ... тогда вы можете делать все, что захотите (вы можете задать вопросы, которые ТОЛЬКО отмечены jquery и получить быстрые ответы). Проблема в том, что теги ajax неудобны. Большинство ветеранов-пользователей struts2 знают подходящие рамки JS, поэтому мало кто может помочь (зачем использовать неуклюжие библиотеки тегов, когда есть намного лучший способ), пользователи jQuery не могут помочь, потому что детали скрыты за библиотекой тегов. – Quaternion

+0

спасибо, что все предложения о том, как это сделать в jQuery – user1184777

+0

Простите, что пройдет какое-то время, прежде чем я смогу ответить ... но я использую struts2-json-plugin для действий, которые я хочу использовать ajax. Исправьте вопрос, чтобы скрыть как можно больше деталей о сервере при задании вопросов на стороне клиента. Просто укажите: Вот что я хочу, вот что я пробовал JS/HTML (возможно, css), который у меня есть до сих пор, и это то, что сервер отправляет обратно, когда я использую этот url. – Quaternion

ответ

0

не использовать "результат" ID = в, используйте имя "результата" = и использовать formIds в

Смежные вопросы