下面是我的javascript代码,我想要发生的是,当用户单击表单中的“上传”按钮时,它会在“imageValidation”以查看文件输入是否正确,如果是,则进入“startImageUpload()”函数,如果文件输入不正确,那么它应该显示警告“不是图像”,并且它不应该进入“startImageUpload '功能。当我点击“上传”按钮时没有任何反应
问题是它根本没有这样做。当用户点击“上传”按钮时,不会出现任何提醒,不会发生上传,也不会发生任何事情。我需要什么才能实现上述段落?
下面是以下形式:
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='imageClickHandler(this); return false;' class='imageuploadform' >" +
"<label> Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/>" +
"<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label></form>");
下面是当用户点击“上传”,其中的功能按钮,它遵循以下这样的功能:
function imageClickHandler(){
if(imageValidation()){
startImageUpload(imageuploadform);
}
}
下面是imageValidation( )函数验证文件输入,但我不知道这是否正常工作?
function imageValidation() {
$(".fileImage").change(function() {
var val = $(this).val();
switch(val.substring(val.lastIndexOf('.') + 1).toLowerCase()){
case 'gif': case 'jpg': case 'png':
return true;
break;
default:
$(this).val('');
// error message here
alert("not an image");
return false;
break;
}
});
}
下面是'startImageUpload()'函数,我知道它在尝试验证输入文件之前工作。
function startImageUpload(imageuploadform){
$(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
$(imageuploadform).find('.imagef1_cancel').css('visibility','visible');
$(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden');
sourceImageForm = imageuploadform;
return true;
}
+1返回f()是我认为作为一个正确的解决方案,而不是返回false的第一件事; – 2012-04-14 00:33:13
不知道'f()'是什么意思,但精神不错:) – 2012-04-14 00:35:51
它几乎解决了它,我唯一的问题是,当我点击“浏览”浏览文件,然后选择worng文件类型,然后显示警报,我希望它可以让用户在浏览文件时选择他们想要的任何文件,但是当用户点击“上传”按钮时,它会显示一条警告,指出“不是图像“。如何才能做到这一点? – user1324106 2012-04-14 00:36:08