它一直显示未定义的文件名
It keeps displaying undefined for file name
我试图在用户上传文件后显示文件的名称。文件上传成功,但在 javascript 中它一直显示以下消息:
文件(未定义)已成功上传!
当它应该显示文件名时,它一直显示未定义。这是为什么呢?目前发生的事情是,当用户上传文件时,文件被上传到"ImageFiles"文件夹中,当上传被精确化时,下面的javascript函数会显示消息,说明已成功上传的文件的名称。
以下是上传后显示文件名和消息的代码:
function stopImageUpload(success){
function handleFileSelect(evt) {
var files = evt.target.files;
localStorage["fname"] = files[0].name; //save the name for future use
}
$('.fileImage').bind('change', handleFileSelect, false);
var result = '';
if (success == 1){
result = '<span class="msg">The file ('+localStorage["fname"]+') was uploaded successfully!</span><br/><br/>';
localStorage["fname"] = undefined; //remove the temporary variable
}
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
return true;
}
以下是表格:
<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='stopImageUpload(this);' class='imageuploadform' >
<p>Image File: <input name='fileImage' type='file' class='fileImage' />
<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' />
</p>
</form>
试试这个:
var fileName;
function stopImageUpload(success){
function handleFileSelect(evt) {
var files = evt.target.files;
fileName = files[0].name; //save the name for future use
}
$('.fileImage').bind('change', handleFileSelect, false);
var result = '';
if (success == 1){
result = '<span class="msg">The file ('+fileName+') was uploaded successfully!</span><br/><br/>';
fileName = ""; //remove the temporary variable
}
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
return true;
}
未测试,但请尝试使用 getItem/setItem 看看是否有任何变化!
function stopImageUpload(success){
function handleFileSelect(evt) {
var files = evt.target.files;
console.log(files[0].name); //see if a name really exists, or if something is wrong outside this function?
localStorage.setItem("fname", files[0].name); //save the name for future use
}
$('.fileImage').on('change', handleFileSelect);
var result = '';
if (success == 1){
result = '<span class="msg">The file ('+localStorage.getItem("fname")+') was uploaded successfully!</span><br/><br/>';
localStorage.setItem("fname", ""); //remove the temporary variable
} else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
return true;
}
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Jquery未定义函数正在停止其他操作
- AngularJS指令出错-无法读取属性'编译'的未定义
- 引用错误: 未定义文件名
- 文件名未定义
- 我得到一个未定义而不是文件名
- 它一直显示未定义的文件名