2017-02-09 52 views
1

输入文件已经有一个值,并且 当用户将一个文件放到input[type=file]我想用yes或no来显示提示。

如果是,它会添加文件。
如果没有它会做任何动作,并保持原来的值在删除文件之前,Javascript提示是/否?

$('input[type=file]').on('drop', function (e){ 
    if(!confirm("are you sure?")){ 
    } 
}); 
+0

只是在您使用的任何拖放处理程序中提前返回。 – dandavis

+0

当确认弹出窗口打开时,我丢失了丢弃文件数据 –

+0

在Firefox中,输入在确认对话框后显示“没有文件被选中”,但是如果没有调用“确认”则选择一个被丢弃的文件。文件内容是在本地读取的,比如AJAX上传还是仅仅作为表单的一部分上传?你能改变页面布局吗? – traktor53

回答

-1

使用return falsee.preventDefault();禁用默认动作:

$('input[type=file]').on('drop', function(e) { 
 
    if (!confirm("are you sure?")) { 
 
    e.preventDefault(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="file" name="test">

不幸的是,这显然不是便携式。它适用于Chrome和Safari,但不适用于FireFox(我在Mac上并没有试过IE)。

便携式解决方案将不得不使用HTML模式对话来获得确认。取消回调可以使用Clearing <input type='file' /> using jQuery中的技术从输入中删除掉落的文件。

+0

权利,但当我点击是的时候丢失了事件数据丢失 –

+0

它在Chrome中适用于我。 – Barmar

+0

当你删除一个文件,并按yes如果它没有被添加,我正在使用firefox –