2016-01-27 4 views
0

У меня есть несколько экземпляров Plupload, включенных на одной странице моего приложения, которые разделены на 3 категории и могут быть добавлены вручную, добавив новую строку таблицы. Мне нужно протестировать динамическую загрузку с помощью Codeception, и трудно подключить файл к определенному вводу файла Plupload, потому что вы не знаете сгенерированный идентификатор, и кажется невозможным добавить определенный класс css.Plupload: получить идентификатор ввода файла

Я пытаюсь получить идентификатор текущего входа Plupload файла, выполнив:

init: { 
       Init: function(up) { 
        console.log(up.id); // o_1aa1e71ku20lole1v7s1veqetje0 
        console.log(up.runtime); // html 
       } 
} 

Проблема заключается в том, что up.id не равно ид входного файла:

<input id="html5_1aa1e71krlg119o9ks61uvl17ledv" type="file" style="font-size: 999px; opacity: 0; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%;" accept="image/jpeg,image/png,image/gif,application/pdf"> 

Как я могу получить идентификатор для добавления пользовательского класса css на основе раздела, в котором он находится? Или вы знаете другой способ настроить один конкретный динамически добавленный ввод Plupload с помощью Codeception?

+0

Одно из решений я вижу использовать JavaScript, чтобы сделать список созданных идентификаторов и поместите их в скрытый ввод и/или скопируйте идентификатор в атрибут 'name'. –

+0

Мне нужно это перед загрузкой. Я запускаю Webdeviver Codeception для автоматического тестирования цепи. Проблема в том, что мне нужно, чтобы Codeception заполнял первый файл ввода второго раздела. Теперь он заполняет первый вход файла первого раздела. Секции, а также входы файлов могут быть созданы динамически, поэтому я хотел бы добавить класс css к входному файлу, чтобы выбрать первый входной файл с определенным классом css. Сама загрузка файла и другие действия на стороне сервера работают в течение нескольких лет. – eaunitrust

ответ

0

Вы можете получить значение через JS, а затем использовать его.

В моем случае, что-то вроде этого (мой HTML как-то сложно, но идея та же в каждом случае)

$profileId = $I->executeJS('return $("#Album_3_idAlbum").parent(".album-no-cover").find(".moxie-shim.moxie-shim-html5").attr("id")'); 
Смежные вопросы