Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change default button label of <p:fileUpload mode="simple">

I am using <p:fileUpload mode="simple">. The button label shows differently in Chrome and Firefox. I would like it to be the same across browsers. I tried changing it by setting the label attribute as follows:

<p:fileUpload label="Browse" ... mode="simple" />

However, it had no effect. How can I achieve this?

like image 879
Amit Sharma Avatar asked Jul 04 '13 12:07

Amit Sharma


2 Answers

That's not possible in current PrimeFaces 3.x version. It's only possible when you use mode="advanced" instead of mode="simple".

As to your attempt to use the label attribute, this attribute is only used as label in validation error messages associated with the input component. With your label="Browse" attempt, in case of a required="true" validation error, the message would appear like so "Browse is required" instead of "formId:inputId is required".


Update: since PrimeFaces 5.x, you can add skinSimple="true" to give mode="simple" the desired skin/look'n'feel as the remainder. Also, the label will actually be used as button label. See also the showcase.

<p:fileUpload label="Browse" ... mode="simple" skinSimple="true" />
like image 71
BalusC Avatar answered Oct 05 '22 22:10

BalusC


I'm using PrimeFaces 5.0, and it's possible change the default names in advanced mode: Choose - Upload - Cancel You can use: label="" uploadLabel="" cancelLabel="" to set your custom names.

The implementation is here: http://www.primefaces.org/showcase/ui/file/upload/single.xhtml

like image 40
L3g10n Avatar answered Oct 05 '22 23:10

L3g10n