如何在操作完成之前隐藏按钮? Primefaces
我目前有一个文件上传系统,目前我有一个按钮将用户带到下一页,但即使用户没有上传任何内容,这也是可见的,如果用户在上传任何内容之前按下这个,则存在危险它会抛出错误而且看起来很糟糕,所以我要做的是隐藏此按钮,直到成功实现文件上传,任何想法如何?
Please press the button below once you have uploaded the file, to continue
操作的命令按钮接下来是我希望禁用直到文件上传完成的按钮
编辑:
是我的命令按钮,它指向fileUploadContoller,这是文件上传发生的地方等,
问题是,当我运行应用程序时,我总是在页面加载时获得一个实时按钮
我在我的fileUploadController上添加了一个布尔值:
public void handleFileUpload(FileUploadEvent event) { //System.out.println("DesintationPDF : " + destinationPDF); System.out.println("called handle file"); System.out.println("Destination is : " + configProp.getProperty("destination")); FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded."); //Displays to user on the webpage FacesContext.getCurrentInstance().addMessage(null, msg); try { copyFile(event.getFile().getFileName(), event.getFile().getInputstream()); } catch (IOException e) { //handle the exception e.printStackTrace(); } } public boolean isUploadComplete() { return uploadComplete; } public void setUploadComplete(boolean uploadComplete) { this.uploadComplete = uploadComplete; }
但仍然得到错误
编辑2:
控制台
INFO: Upload complete value before copy file false INFO: upload complete value is : true
所以它将值更改为true
但是没有改变按钮来生活
要在上传完成之前禁用按钮,只需将disabled
属性绑定到bean中的属性即可。 在我看来,禁用似乎比突然渲染它更直观。 用户也会知道后台正在发生一些事情。
由于您使用PrimeFaces,此解决方案是最简单的。 只需用bean
的名称替换bean即可。
编辑:
public class YourNavigationBean { private boolean uploadComplete; // <--- that's the property // ... your bean content, like constructors and stuff.. // ... //a setter and a getter is needed, to here they are public boolean isUploadComplete() { return uploadComplete; } public void setUploadComplete(boolean uploadComplete) { this.uploadComplete = uploadComplete; } }
使下一个按钮不可见。 在成功上传文件后,在开头维护一个flag = false,使标志为true。 或者在文件上传结束时,将下一个按钮显示为true;
ON上传完成事件集display = block。
HTML
使用Javascript:
$(document).ready( function(){ $('input:file').change( function(){ if ($(this).val()) { document.getElementById("submitbutton").style.display='block'; } } ); });
现场演示: http : //jsfiddle.net/E42XA/205/
- Apache commons fileupload FileItemIterator hasNext()返回false
- 使用HTTPHandler进行文件上传
- html多部分表单中输入文本字段的值
- Spring文件上传 – 获得预期的MultipartHttpServletRequest:是否配置了MultipartResolver? 错误
- 使用MyFaces Tomahawk + JSF 2.0上传文件
- 在struts1中上传文件
- 在Restlet中使用描述上传文件
- 使用Java将包含文件的目录上载到S3
- Spring MVC – AngularJS – 文件上传 – org.apache.commons.fileupload.FileUploadException