【发布时间】:2012-05-15 13:16:00
【问题描述】:
我有一个应用程序here 的链接。现在我要做的是,当用户单击“上传”按钮时,它会显示一个加载栏,在该栏下方它将显示正在上传的文件的名称和旁边的“取消”按钮因此用户可以根据需要取消上传。
但问题是它根本没有检索文件名。它显示为未定义。所以我的问题是,我怎样才能在取消按钮旁边显示文件名而不是未定义?
下面是开始上传和存储取消按钮功能的javascript函数:
function startImageUpload(imageuploadform, imagefilename){
$('.imagef1_cancel').eq(window.lastUploadImageIndex)
.html('' + imagefilename +
'<button type="button" class="imageCancel" cancel_image_file_name="' +
imagefilename + '">Cancel</button>');
$('.imagef1_cancel').eq(window.lastUploadImageIndex).find(".imageCancel").on("click",
function(event) {
var cancel_image_file_name = $(this).attr('cancel_image_file_name');
console.log(cancel_image_file_name)
jQuery.ajax("cancelimage.php?imagefilename=" + cancel_image_file_name)
return stopImageUpload(2);
});
return true;
}
下面是cancelimage.php 脚本,它应该在其中检索文件名:
<?php
$cancel_image_file_name = $_GET["imagefilename"];
?>
【问题讨论】:
-
向我们展示从浏览器中的视图/源代码生成的 HTML,而不是 PHP 模板,这样我们就可以看到浏览器实际看到的内容。
-
使用
$('input[type=file]').val()时返回要上传的文件名。 -
它应该可以正常工作....你能把fireBug的结果贴出来看看请求吗
-
@Raminson 我不能使用
$('input[type=file]').val()。这样做的原因是假设我上传了一个文件“Tulips.png”,然后再次上传了相同的文件,在服务器中它会将其保存为“Tulips_2.png”,如果我使用$('input[type=file]').val(),这将是不正确的提取该值,因为它仍将其声明为“Tulips.png” -
@TheHulk fireBug 中没有说明错误。
标签: php javascript jquery ajax dom