1.用jquery.form插件中的ajaxSubmit可以支持文件的上传(浏览器支持好)
<form id="replyForm" method="post" action="#springUrl('/')user/oper/arbi/questionLetterReply/reply" enctype="multipart/form-data">
<input name="billId" value="$!{bill.id}" type="hidden">
<input name="code" value="" type="hidden">
#foreach($vo in $vos)
<ul class="add_evidence add_spacing">
<input name="letterFiles" type="hidden" laf="$!{vo.id}">
<li title="$!{vo.name}">回复:$!{vo.fileDesc}</li>
<li>
<span><b>*</b>请上传材料:</span>
<div class="file_wraper">
<div class="file_box">
<div class="file_style">选择文件</div>
<input type="file" class="file_upload" style="" name="replyFiles" la="$!{vo.id}">
</div>
</div>
<i class="file_name" lan="$!{vo.id}">未选择任何文件</i>
</li>
<li>
<span> </span>
<i class="file_careful">上传证据为pdf、jpg、word格式文件,文件大小10MB以内</i>
</li>
<label class="file_careful01">注:以上材料由服务机构依据相关业务标准从业务平台获取,不可随意修改或删除。如有异议,请与客服人员联系</label>
<input type="button" class="delete_bnt deleteReply" value=" 删除" lad="$!{vo.id}">
</ul>
#end
</form>
/** 提交 */
$('#submitBtn').click(function() {
var code = $('.vercode').val();
if (code === '') {
alert('验证码不能为空');
return;
}
$('input[name="code"]').val(code);
var pass = false;
$('input[type="file"]').each(function(i, e) {
if ($.trim($(e).val()) != '') {
pass = true;
return false;
}
});
if (!pass) {
alert('没有文件待提交');
return;
}
var form = $('#replyForm');
var url = '#springUrl("/")user/oper/arbi/questionLetterReply/reply';
var options = {
url: url,
type: 'POST',
dataType: 'json',
success: function(data) {
var jsonData = data;
if (data.retCode === undefined) {
jsonData = JSON.parse(data);
}
if (jsonData.retCode === 1) {
alert('提交成功');
window.location.reload();
return;
}
alert(jsonData.retMsg);
}
};
form.ajaxSubmit(options);
});
2.用new FormData()的方式,但是需要html5的支持
new FormData()