У меня есть форма, которая может содержать 0 сотен <input type="file">
элементов. Я назвал их последовательно в зависимости от того, сколько динамически добавлено на страницу.JQuery Подтвердить тип входного файла
Например:
<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
является динамическим. Он должен быть динамичным, чтобы мое веб-приложение могло правильно обрабатывать каждую загрузку. Поэтому, очевидно, использование «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;
});
Спасибо Арун действительно здорово. Но элементы добавляются/удаляются динамически всякий раз, когда пользователь нажимает кнопку. Не может быть ни одного, ни 1, ни другого. Когда/где я должен добавить метод правил? Я попробовал добавить его в событие формы, но не работал. –
@ volumeone вы можете поделиться кодом, который добавляет элемент –
сделано, пожалуйста, см. Редактирование. Я думал, что когда я нажимаю кнопку отправки формы, он должен проверить, существует ли вход «name^= fileupload», а затем запустить метод правила добавления до того, как каким-то образом будет проведена проверка. Пока что это не сработало, но вы думаете, что я «Правильно ли я думаю? –