Приветствую всех. Заранее спасибо за помощь. На drupal 7 через модуль webform решил сделать загрузку поля "файл" автоматически. Подключаю js в инфо файле темы, скрипт подгружается, ошибок в консоли нет, по идее должна прятаться кнопка прикрепить и при выборе файла автоматом загружаться файл, но этого не происходит. Версия jQuery 1.7 (модуль Версия jQuery update).
Вот код js
/*************** Автоматическая загрузка файла***************/
$('#edit-submitted-upload-file-upload').on('change', 'input[type="file"]', function() {
$(this).parent().find('input#edit-submitted-upload-file-upload-button').mousedown();
});
});
Комментарии
https://drupal.stackexchange.com/questions/31121/how-can-i-automatically...
Создал и установил данный модуль. Вверху страницы пишет function auto_upload_init() {
drupal_add_js(drupal_get_path('module', 'auto_upload') . '/auto_upload.js');
}
Если Вы зачем-то решили по кусочку создать модуль из обрывков кода в первом ответе, то нужно было в начало файла auto_upload.module хотя бы вставить <?php
Но проще всего было установить готовый модуль из второго ответа
Про <?php согласен)) Заработался, тупо копировал и вставлял.
Решил вопрос, изменив js файл, может кому пригодиться, только имя полей нужно будет свои подставить)
Drupal.behaviors.autoUploadWebform = {
attach: function ( context, settings ) {
$('.form-managed-file #edit-submitted-upload-file-upload-button').css({'display':'none'});
$('.form-managed-file').delegate( 'input.form-file', 'change', function () {
$(this).next('input[type="submit"]').mousedown ();
});
}
};
})(jQuery);
Убирается только кнопка загрузить (прикрепить), после автоматической загрузки появляется кнопка удалить.
Всем, кто откликнулся большое спасибо.
PS Но на самом деле всё, что делает этот php-код - это подключение нужного js к странице. Если у Вас js уже вставлен в тему и точно выполняется, то просто попробуйте вместо Вашего кода повставлять варианты со stackexchange - возможно что-то заработает.
PPS А вместо .mousedown() не пробовали .click()?
PPPS Писал, не видя последнего сообщения. Заработало - и хорошо
.click() не работает.