2016-03-08 20 views
0

我想要設置PrimeFaces組件的輸入按鈕類型=「文件」的樣式<p:fileUpload value="#{dms.fileToUpload}" mode="simple" skinSimple="true" styleClass="chooseFile"/>樣式p:上傳簡單輸入按鈕

enter image description here

正如你所看到的變化`整個背景,而不是輸入按鈕本身。是否有可能改變按鈕的風格?

我使用PrimeFaces 5.1

+0

玩這個使用的是舊版本的PF?從5.3生成的HTML看起來完全不同。 – Kukeltje

+0

問題是所有的答案不幫助我,因爲我不能添加一個類到p:fileUpload內部的輸入。 –

+0

@BalusC:我把它標記爲最初的副本,但是當開始在PF展示中查找簡單模式時,它有一個「解決方法」,因此您可以設置按鈕的樣式。因此,我想創建一個答案,考慮舊版和新版PF版本,舊版本中指的是這個副本。你能重新開放嗎? – Kukeltje

回答

1

在舊PrimeFaces版本中,簡單的上傳使用一個普通的HTML上傳其cannot be styled。 PrimeFaces 5.1是簡單上傳無法直接打樣的版本之一。

如果您在for屬性中使用了正確的值(我在展示中嘗試過),則可以在小提琴中找到解決方法。

然而,新版本使用'wrapping workaround',由skinSimple="true" attribute啓用,您似乎認爲它也可以在您的版本中使用,但它不是。 PrimeFaces生成下面的HTML那麼作爲上傳控件的一部分:

<span class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-left"> 
    <span class="ui-button-icon-left ui-icon ui-c ui-icon-plusthick"/> 
    <span id="j_idt88:j_idt89_label" class="ui-button-text ui-c">Choose</span> 
    <input id="j_idt88:j_idt89_input" name="j_idt88:j_idt89_input" aria-labelledby="j_idt88:j_idt89_label" type="file" /> 
</span> 

ui-button可以風格反正你喜歡,因爲它是wraps`真正的文件輸入是有效的無形。

您可以在PrimeFaces showcase

+0

感謝您的回覆。你能給我鏈接到以前鏈接的重複問題嗎? –

+0

這是在我的回答 – Kukeltje

+0

對不起,沒有看到。謝謝。 –