我想执行一个简单的javascript验证,当用户点击表单中的提交按钮时,它会检查文件是'png'还是'gif'文件类型。如果文件类型正确,则显示加载栏并上传表单。如果文件类型不正确,则显示n警告,说明文件类型不正确,但不显示加载栏,也不上传表单。
下面是代码,但是当我点击“上传”按钮时它没有显示警告。我需要做什么,以便当用户点击“上传”按钮时,如果出现错误的文件类型然后出现警告并且没有上传文件,如果文件类型正确则会显示加载栏并上传文件。
var sourceImageForm;
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='startImageUpload(this);' 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 startImageUpload(imageuploadform){
$(".imageFile").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('');
alert("not an image");
return false;
break;
}
});
$(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
$(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden');
sourceImageForm = imageuploadform;
return true;
}
答案 0 :(得分:0)
你错过了第三行的结束"
,这可能是原因。
答案 1 :(得分:0)
你没有阻止表单默认行为,所以当你提交它时,它只是去,它不关心javascript方。
$('form').submit(function(ev) {
// do your stuff here and return true to submit it or false to stop it
})
编辑:对不起你在提交时绑定了,但是你提交时所做的就是按下更改时绑定图像元素,你实际上没有检查任何提交