Всем здравствуйте.
Помогите с выводом ошибок при загрузке файлов. А именно: скрипт формы обр связи имеет функцию прикрепления файлов.
В случае ошибки выводится сообщение в теге <p>....</p> и по дефолту все работает отлично, но я использую плагин стилизации для чекбоксов, инпутов и прочего и он меняет порядок кода в html, а как я понял он важен.
По умолчанию без плагина конструкция html такая:
<!-- Файл -->
<input type="file" name="images[]">
<p style="color: #000000; margin-top: 9px; margin-bottom: 9px;"></p>
С плагином:
Как можно исправить и сделать вывод уведомлений? Может можно как то по айди их выводить? Я в этом двоешник) Так что если что, не прогоните уж)
Вот кусок скрипта который все это дело выводит:
(я не использую возм прикрепления нескольких файлов. В настр скрипта стоит 1)
$(document).on('change','input[name="images[]"]',function(e){
// если выбран файл, то добавить ещё элемент "Выбрать файл"
if ((e.target.files.length>0)&&($(this).next('p').next('input[name="images[]"]').length==0) && ($('input[name="images[]"]').length<countFiles)) {
$(this).next('p').after('<input type="file" name="images[]"><p style="color: #ff0000; margin-top: 9px; margin-bottom: 9px;"></p>');
}
// если выбран файл, то..
if (e.target.files.length>0) {
// получить файл
var file = e.target.files[0];
// проверить размер файла
if (file.size>maxSizeFile) {
$(this).next('p').text('Файл не будет отправлен, его размер больше 10 мб');
}
// проверить тип файла
else if (!file.type.match(typeFile)) {
$(this).next('p').text('Ошибка: Файл не является zip архивом.');
}
else {
// убираем сообщение об ошибке
if ($(this).next('p')) {
$(this).next('p').text('');
}
}
}
else {
// если после изменения файл не выбран, то сообщаем об этом пользователю
$(this).next('p').text('Файл не будет отправлен, т.к. он не выбран');
}
Проблема в том что не выводится ошибка?
Тогда используйте id для вашего p тега, например
<p style="color: #000000; margin-top: 9px; margin-bottom: 9px;" id="p_tag"></p>
Тогда ваши селекторы из $(this).next('p') превратятся в $('#p_tag')
$('#p_tag').text('');
И объявите его 1 раз в самом верху функции: var element = $('#p_tag') и пользуйтесь.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости