Я проверяю форму с помощью jquery. Все работает нормально, но не загружает файлы. здесь есть кнопка загрузки файла, которая принимает только изображения для того, что я использую Jquery, как следует,
$(document).ready(function(){
$('#create_teacher').validate({
rules: {
teacherId: {
required: true
},
teacherName: {
minlength: 6,
required: true
},
education: {
required: true,
minlength: 6
},
experience: {
required: true,
minlength: 6
},
prevdetails:{
required: true,
minlength: 6
},
email: {
required: true,
email: true
},
highlight: function(element) {
$(element).closest('.control-group').removeClass('success').addClass('error');
},
success: function(element) {
element
.text('OK!').addClass('valid')
.closest('.control-group').removeClass('error').addClass('success');
}
}
});
$('#create_teacher input[type="submit"]').click(function(e){
e.preventDefault();
var form = $('#create_teacher');
var file = $('input[type="file"]', form).val();
var exts = ['jpg','jpeg','gif','png'];
var msg = $('.msg', form);
msg.hide();
// first check if file field has any value
if ( file ) {
// split file name at dot
var get_ext = file.split('.');
// reverse name to check extension
get_ext = get_ext.reverse();
// check file type is valid as given in 'exts' array
if ( $.inArray ( get_ext[0].toLowerCase(), exts ) > -1 ){
msg.show().html( '<strong style="color:#090">Allowed extension!</strong>' );
} else {
msg.show().html( '<strong style="color:#f00">Invalid file!</strong>' );
}
}else{
msg.show().html( '<strong style="color:#f00">Select file!</strong>' );
}
});
}); // end document.ready
и мой сборщик файлов, как следует,
<input type="file" id="photo" name="photo" />
но это не подтверждается. Пожалуйста, помогите мне.
jQuery Validate фактически поддерживает это напрямую, используя дополнительные методы.js, используя правило accept.
Что бы вы сделали, это включить этот.js файл на вашу страницу и добавить правило к вашему объекту правил, который выглядит так:
photo:{
accept:'image/*'
}
Это позволит использовать все типы изображений.
Убедитесь, что ваша форма выглядит следующим образом:
<form action="#" method="post" " enctype="multipart/form-data" class="" onsubmit="return Checkfiles(this);">
// ...
<input type="file" name="file" id="file">
</form>
JQuery:
function Checkfiles(f){
f = f.elements;
if(/.*\.(jpg)$/.test(f['file'].value.toLowerCase()))
return true;
alert('Please Upload Jpg Files Only.');
f['file'].focus();
return false;
};