检查文件是否上传

时间:2014-05-14 09:14:33

标签: jquery validation file-upload

我的表单有简单的文件上传字段:

<input type="file" name="resume" id="resume">

我想使用jQuery检查用户是否选择了文件。

$('#careerform').submit(function()
{
        var error = 0;      

var is_upload = 0;

$("#resume").on("change",function(event) 
{         
     is_upload = 1;
     error = 0;
});


if(is_upload == 0)
{
    alert('Please upload your resume');
    error = 1;  
    return false;

}

});

有什么问题:

场景1:用户未选择任何文件并单击其显示的提交按钮错误“请上传您的简历”。 (这是正确的)

场景2:警告消息后,现在如果用户选择了该文件,则会再次发出警告“请上传您的简历”。 (不正确)

1 个答案:

答案 0 :(得分:1)

您的变量is_uploaderror应该在提交函数之外。在您的代码中,每次提交时都会将其重置为0,如果您上传了某些内容,则不会重置为change

你的=事件也应该在那之外。将它放在提交函数中是没有意义的。 定义变量应该是1 var is_upload = 0; var error = 0; $("#resume").on("change", function (event) { is_upload = 1; error = 0; }); $('#myform').submit(function () { if (is_upload == 0) { alert('Please upload your resume'); error = 1; return false; } }); 而不是2。

{{1}}

http://jsfiddle.net/a5Tn6/2/