不使用ajax实现无刷新提交表单的例子
<s:form action="upload!upload.action" namespace="/" theme="simple" method="post" id="hidden_frame"
enctype="multipart/form-data" target="hidden_frame">
<div class="file-box" style="margin-left: 30px">
<span style="white-space:pre"> </span><input type='text' name='textfield' id='textfield' class='txt'/>
<span style="white-space:pre"> </span><input type='button' class='btn' value='选择文件' />
<span style="white-space:pre"> </span><s:file name="upload" id="uuppload" cssClass="file" οnchange="document.getElementById('textfield').value=this.value"/>
<span style="white-space:pre"> </span><a value="上传参数 " οnclick="uploadcanshu();" style="width: 100px;margin-left:30px;" class="btn">上传参数</a>
</div>
</s:form>
<iframe name='hidden_frame' id="hidden_form" style="display:none"></iframe>
<script type="text/javascript">
function uploadcanshu(){
var uploads = $("#uuppload").val();
if(uploads!=null&&uploads!=""){
$("#hidden_frame").submit();
$("#hidden_form").one("load", function () {
<span style="white-space:pre"> </span>var ahtml=$("#hidden_form").contents().find("body")[0].outerHTML;
<span style="white-space:pre"> </span>var data=$("#hidden_form").contents().find("body").html();
<span style="white-space:pre"> </span>var bb=$("#hidden_form").contents().find("body").find("pre").html();
<span style="white-space:pre"> </span>$("#jishucanshu").val(data);
});
}else{
<span style="white-space:pre"> </span>alert("上传失败,请重新上传!");
}
}
</script>
action类里的代码:
(public class UploadAction extends ActionSupport)
ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
ServletActionContext.getResponse().setHeader("Cache-Control", "no-cache");
ServletActionContext.getResponse().setHeader("Charset","UTF-8");
ServletActionContext.getResponse().getWriter().write("<BODY>"+strupload+"</BODY>");