Javascript 下面的代码是什么意思?
我想知道下面的代码是如何工作的,因为我在一个网站上找到了获取文件名的代码,但我不完全理解它是如何工作的:Javascript 下面的代码是什么意思?,javascript,jquery,Javascript,Jquery,我想知道下面的代码是如何工作的,因为我在一个网站上找到了获取文件名的代码,但我不完全理解它是如何工作的: function handleFileSelect(evt) { var files = evt.target.files; localStorage["fname"] = files[0].name; //save the name for future use } 对于下面这样的表单代码,上面的代码是否正确: <form action='imageupload
function handleFileSelect(evt) {
var files = evt.target.files;
localStorage["fname"] = files[0].name; //save the name for future use
}
对于下面这样的表单代码,上面的代码是否正确:
<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return imageClickHandler(this);' class='imageuploadform' >
<p><input name='fileImage' type='file' class='fileImage' /></p>
<iframe class='upload_target' name='upload_target' src='#' style='width:0;height:0;border:0px;solid;#fff;'></iframe></form>
该函数绑定到该文件输入字段的change
事件
让我们把它分解一下
function handleFileSelect(evt) {
当函数作为事件的侦听器绑定时,通常会传入表示该事件的对象。这是此事件处理程序函数接受的evt
变量
var files = evt.target.files;
对于DOM事件,事件对象通常有一个名为target
的属性,该属性是对触发事件的DOM元素的引用。因此evt.target
返回文件输入元素
文件输入元素有一个名为files
的属性,即用户选择的文件对象数组(请注意,可能只选择了一个文件,但它仍然是一个只有一个项的数组)。该行将该数组分配给文件
局部变量
localStorage["fname"] = files[0].name;
localStorage
是作为HTML5的一部分引入的一种持久键值存储(类似cookies)<代码>“fname”是我们存储值的键。和文件[0]。name
获取第一个文件对象,并返回其name
属性,有效地获取所选文件的名称。然后存储该值,这样即使您刷新页面,您也可以通过运行localStorage[“fname”]
读回上次选择的文件名。具体来说,您不清楚该值是什么?evt.target.files,它是假设与我在表单中已有的目标名称匹配,还是它自己的关键字。还有文件呢,它是否与文件输入的name属性相匹配?应该是evt.upload\u target.fileImage吗?“fname”在本地存储中来自哪里?好的,这是一个很好的解释,我完全理解它,谢谢:)可能值得补充的是,所使用的功能只在最近的浏览器中可用,它们在不太旧的浏览器中会失败。