上次说到form处理上传文件.
还是同样的,看看效果。
其实上篇看的是同步的表单处理模式。
现在看看异步的处理方式。
1)看看界面
<div style="font-family: Tahoma, Verdana, 宋体; font-size: 12px;width:100%;height:100%;overflow:hidden;">
<label for="Attachment_GUID">附件上传:</label>
<div class="container6 container60" style="margin-top: 10px;">
<form name="frmPostSC" id="frmPostSC" method="post" enctype="multipart/form-data">
<input id="uploadExcel" name="uploadExcel" class="easyui-filebox" style="width:200px" data-options="prompt:'请选择文件...'">
<div class="clearfix"></div>
<a href="#" class="easyui-linkbutton" style="width:122px" data-bind="click:importExcel">提交</a>
</form>
</div>
</div>
2)看看js处理,这里用的是easyui的库。
//导入excel
self.importExcel = function(){
//得到上传文件的全路径
var fileName= $('#uploadExcel').filebox('getValue');
//进行基本校验
if(fileName==""){
$.messager.alert('提示','请选择上传文件!','info');
}else{
//对文件格式进行校验
var d1=/\.[^\.]+$/.exec(fileName);
var xls = /^.xls*/g;
if(xls.exec(d1) || d1==".csv")
{
$('#frmPostSC').form('submit', {
url: context.ViewModel.ViewTool.GetActionUrl('Post', 'ImportWithdraw'),
datatype:'json',
onSubmit: function () {
return $(this).form('validate');
},
success: function (data) {
var jsonData = eval("(" + data + ")");
if (jsonData.StatusCode == 'Success') {
$.messager.alert('Message', jsonData.Message, 'info');
}
else {
if (jsonData.Message) {
$.messager.alert('Message', jsonData.Message, 'error');
}
}
}
});
}
else
{
$.messager.alert('提示','请选择xls格式文件!','info');
$('#uploadExcel').filebox('setValue','');
}
}
}
这就是异步的处理模式。
下一篇讲述,如果用asp.net处理上传的文件。