问题:
点击上传按钮,使用onchange事件的话,第二次上传不改变文件地址就会触发不到事件,也就是上传按钮失效。
解决方案:
input[type=file]使用的是onchange去做,onchange监听的为input的value值,只有再内容发生改变的时候去触发,而value在上传文件的时候保存的是文件的内容,你只需要在上传成功的回调里面,将当前input的value值置空即可。
实例:
<script type="text/javascript">
function fileChange(event)
{
confirmMsg('是否确定上传?',function(){
importExcel(event);
})
}
function importExcel(event){
$('#fileForm').form('submit',{
url:'ProductionHandler.ashx',
queryParams:{
action:'importExcel',
},
success:function(data){
if(data == '"OK"')
{
alertMsg('导入EXCEL成功!');
$('#ClassTB').datagrid('reload');
event.target.value = '';
}
else
{
alertError(data);
event.target.value = '';
}
}
})
}
</script>
<body>
<form id="fileForm" method="post" enctype="multipart/form-data" action="ProductionHandler.ashx">
<input type="file" name="fileElem" id="fileElem" onclick="" onchange="fileChange(event)" hidden="hidden">
</form>
</body>
网友评论