2016-01-27 42 views
0

我的應用程序的一個頁面中包含多個Plupload實例,它們分爲3類,可以通過添加新的表格行手動添加。 我需要使用Codeception動態上傳測試,並且很難將文件附加到特定的Plupload文件輸入,因爲您不知道生成的id,並且似乎無法添加某個css類。Plupload:獲取文件輸入的ID

我試圖做來獲得當前Plupload文件輸入ID:

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

的問題是,up.id不等於文件輸入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"> 

我怎麼能得到的ID添加一個自定義的CSS類,它所在的部分?或者您是否知道另一種方法來針對一個特定的動態添加的Plupload輸入與Codeception?

+0

一個解決方案,我看到的是使用JavaScript,使創建ID列表和把它們放在隱藏的輸入中,和/或將id複製到'name'屬性中。 –

+0

上傳前我需要它。我正在運行Codeception的Webdriver來執行自動鏈測試。問題是我需要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")');