2011-11-18 38 views
0

因此,例如,我们有一个类似内容的HTML文件,以这样的:HTML/Javascript:如何跟踪上传是否中止?

<body> 
    <form action="/upload" type="post" id="upload-form" enctype="multipart/form-data"> 
     <input type="file" name="file-input" /> 
    </form> 
</body> 

我想在javascript什么

  • 当服务器遇到错误并中止得到通知上传请求
  • 当用户手动中止上传时得到通知
  • 或任何种类的中止事件w HICH可能occure

类似:

var form = document.getElementById('upload-form'); 
form.onabort = function(error){ 
    alert(error); 
} 

是否有的JavaScript任何原生API或定制的技术呢?

回答

0

您可以在文件上传开始前通知AJAX,然后将数字存储在服​​务器的会话中,或者如果您确实想要数据库中的列。

有一个inabort事件处理程序,但我的理解是它仅适用于img元素。你可以尝试,看看它是否会为不同的渲染引擎,但(壁虎工作:火狐,普雷斯托:歌剧,三叉戟:MSIE,WebKit的(叉):镀铬/ Safari浏览器

<form onabort="alert('the onabort event worked on this form?');"> 

有虽然一个onsubmit事件,所以你可以尝试将它作为START点,然后记录用户是否按下了退出键......

if (window.addEventListener) {document.addEventListener('keydown',keyPressed,false);} 
else {document.attachEvent('onkeydown',keyPressed);} 

function keyPressed(evt) 
{ 
var e = evt || event; 
var key = e.which || e.keyCode; 

switch (key) 
{ 
    // Esc 
    case 27: 
    alert('escape key pressed'); 
    break; 

    case 76://L 
    alert('L key pressed'); 
    break; 
} 
}