检查是否在Jquery

时间:2018-08-21 17:49:52

标签: javascript jquery

我用文件输入创建了一个按钮。如果单击该按钮,则可以从计算机中选择一个文件。我的问题是,如果我选择一个文件,我想添加警报。我怎样才能做到这一点?我试图解决此问题,但是当我再次单击该按钮时,就会出现警报。

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();" />

4 个答案:

答案 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!");
              }        
          })     
}