【发布时间】:2023-03-15 01:43:01
【问题描述】:
我有一个可以包含 0-数百个 <input type="file"> 元素的表单。我根据动态添加到页面的数量来按顺序命名它们。
例如:
<input type="file" required="" name="fileupload1" id="fileupload1">
<input type="file" required="" name="fileupload2" id="fileupload2">
<input type="file" required="" name="fileupload3" id="fileupload3">
<input type="file" required="" name="fileupload999" id="fileupload999">
在我的 JQuery 中,我想在可接受的 MIME/文件类型上验证这些输入。像这样:
$("#formNew").validate({
rules: {
fileupload: {
required: true,
accept: "image/jpeg, image/pjpeg"
}
}
我的问题是输入文件元素的name 属性是动态的。它必须是动态的,这样我的 Web 应用程序才能正确处理每次上传。所以显然在规则部分使用“fileupload”是行不通的。
如何为所有名称为“fileupload”的输入设置规则?
这是动态添加输入的代码:
var filenumber = 1;
$("#AddFile").click(function () { //User clicks button #AddFile
$('<li><input type="file" name="FileUpload' + filenumber + '" id="FileUpload' + filenumber + '" required=""/> <a href="#" class="RemoveFileUpload">Remove</a></li>').prependTo("#FileUploader");
filenumber++;
return false;
});
$("#FileUploader").on('click', '.RemoveFileUpload', function () { //Remove input
if (filenumber > 0) {
$(this).parent('li').remove();
filenumber--;
}
return false;
});
【问题讨论】: