我的表单有简单的文件上传字段:
<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:警告消息后,现在如果用户选择了该文件,则会再次发出警告“请上传您的简历”。 (不正确)
答案 0 :(得分:1)
您的变量is_upload
和error
应该在提交函数之外。在您的代码中,每次提交时都会将其重置为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}}