我有一个用例
<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 :(得分:0)
不要使用id =“result”,使用name =“result”并在
中使用formIds