我用文件输入创建了一个按钮。如果单击该按钮,则可以从计算机中选择一个文件。我的问题是,如果我选择一个文件,我想添加警报。我怎样才能做到这一点?我试图解决此问题,但是当我再次单击该按钮时,就会出现警报。
function openfileDialog() {
$("#fileLoader").click();
if($("#fileLoader").val() !== ""){
alert("You selected a file!");
}
}
#fileLoader
{
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="fileLoader" name="files" title="Load File" />
<input type="button" id="btnOpenFileDialog" value = "Click Me !!!" onclick="openfileDialog();" />
答案 0 :(得分:0)
尝试一下:
<input type="file" id="fileLoader" name="files" title="Load File" onchange="alert('selected');" />
答案 1 :(得分:0)
使用以下代码。基本上,您需要使用onchange事件。 (提琴-https://jsfiddle.net/o2gxgz9r/65577/)
$(document).ready(function() {
var openfileDialog = function() {
$("#fileLoader").click();
}
$('#btnOpenFileDialog').click(openfileDialog);
$("#fileLoader").change(function() {
if ($("#fileLoader").val() !== "") {
alert("You selected a file!");
}
})
});
注意-仅在最初选择文件时才显示警报,而在以后选择新文件时才显示警报。如果您希望即使选择了同一文件也要显示它,则需要在#fileLoader
函数中修改openfileDialog
的value属性
答案 2 :(得分:0)
为此使用change
事件,但与此有关的一个问题是,如果您选择了与您选择的相同的file
,则仅当您选择其他文件时,它才会触发。
function openfileDialog() {
$("#fileLoader").click();
}
$("#fileLoader").on("change", function(e){
if($("#fileLoader").val() !== ""){
alert("You selected a file!");
}
});
#fileLoader
{
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="fileLoader" name="files" title="Load File" />
<input type="button" id="btnOpenFileDialog" value = "Click Me !!!" onclick="openfileDialog();" />
答案 3 :(得分:0)
嗨,这可能有帮助,
function openfileDialog() {
$("#fileLoader").click();
$('#fileLoader').change(function(){
if($(this).val() != ""){
alert("You selected a file!");
}
})
}