RichFaces inputtext调用fileupload

时间:2011-06-14 21:26:28

标签: javascript html jsf file-upload richfaces

我有一个h:inputText和一个rich:fileUpload。我希望inputText在单击时调用fileUpload。我该怎么做呢?现在,我有这个:

<h:inputText id="uploadName" maxlength="255" value="#{bean.fileName}" required="false"
                                    onclick="INVOKE FILEUPLOAD"
                                    >
                                        </h:inputText>                                  
                                        <rich:fileUpload id="uploadFile" addControlLabel="Upload"
                                            fileUploadListener="#{bean.fileUploadListener}"
                                            uploadData="#{bean.data}"
                                            listWidth="100px" listHeight="0px" maxFilesQuantity="1"
                                            immediateUpload="true" acceptedTypes="xml" allowFlash="false"
                                            status="eventQueueFileUpload">

                                        </rich:fileUpload>

基本上,我希望inputText和fileUpload具有相同的功能,我只需在inputText中显示文件名。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

您无法强制浏览器触发文件上传。你可以做的是使用CSS技巧将文件输入定位在文本输入上并使其透明。然后看起来你有一个输入字段(注意你甚至不需要它作为文本输入;它可以只是<span>,因为你需要表单来包含参数值文件输入本身无论如何)。

将这项工作用于体面的浏览器并不是一件非常困难的事情,但它对IE来说可能是一个小麻烦。 IE7允许人们输入你可能不想要的文件输入。在任何地方点击输入时,其他所有内容都将启动文件浏览器对话框。