Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript选择文件?_Javascript_Html - Fatal编程技术网

如何使用Javascript选择文件?

如何使用Javascript选择文件?,javascript,html,Javascript,Html,我正在尝试创建一个浏览器对话框,以允许用户将图像上载到我的网页 我知道我必须使用,但我不知道当用户接受了当您单击按钮上的时出现的提示时,在何处(或更好的情况下,何时)检索信息 在我的例子中,当您在按钮上单击时,会出现提示,我通过Javascript处理此事件 这是我的密码: window.onload=function(){ var buttonFile=document.getElementById(“buttonFile”); var file=document.getElementByI

我正在尝试创建一个
浏览器对话框
,以允许用户将图像上载到我的网页

我知道我必须使用
,但我不知道当用户接受了当您
单击
按钮上的
时出现的提示时,在何处(或更好的情况下,何时)检索信息

在我的例子中,当您在
按钮上单击
时,会出现提示,我通过
Javascript
处理此事件

这是我的密码:

window.onload=function(){
var buttonFile=document.getElementById(“buttonFile”);
var file=document.getElementById(“文件”);
buttonFile.onclick=函数(){
document.getElementById(“文件”)。单击();
}
var files=document.getElementById('file').files[0];//我不知道这一行放在哪里
警报(文件);
};
#文件{
显示:无;
}

上传文件
window.onload=function(){
var buttonFile=document.getElementById(“buttonFile”);
var file=document.getElementById(“文件”);
buttonFile.onclick=函数(){
document.getElementById(“文件”)。单击();
};
file.onchange=函数(){
警报(文件.files[0].name);
};
};
#文件{
显示:无;
}


上传文件
到目前为止,您已经做好了一切准备,只是在用户上传文件之前,您不需要获取文件的值。否则,它肯定是未定义的

window.onload = function() { 
  var buttonFile = document.getElementById("buttonFile");
  var file = document.getElementById("file");

  buttonFile.onclick = function() {
    document.getElementById("file").click();
  };

  file.onchange = function(e){
     if (this.files && this.files[0]) {
        alert(JSON.stringify(this.files[0]));
     }
  };
};
1) 您根本不应该将该行放入onclick处理程序中。 2) 你是对的,旧的浏览器不检查类型。无论如何,您应该始终执行服务器端验证。
3) 除非您决定使用web服务。

请尝试将
document.getElementById('file').files[0]
放在
元素上的
onchange
处理程序中。对于2和3:是。事实上,我一开始会在没有JavaScript的情况下构建它,并且只有在它工作时,才在它上面添加一些JavaScript,以使其更加用户友好。非常感谢!正是我想要的!文件更改的处理程序:)