显示无法使用onselectMenu和文件上传

时间:2013-05-02 10:28:20

标签: primefaces

我在selectOneMenu组件和primefaces fileupload上遇到了问题。

<h:outputLabel value="Categorie :"  />  
            <p:selectOneMenu  value="#{composantbean.selectedCategoryId}" required="true" >  
                <f:selectItem itemLabel="Select categorie" itemValue="" />  
                <f:selectItems  value="#{composantbean.listcat}" var="cat" itemValue="#{cat.nomCat}" itemLabel="#{cat.nomCat}" /> 
                <p:ajax update="panlecart2"  event="change" listener="#{composantbean.catListener()}"/>
            </p:selectOneMenu>   

我的问题在于显示屏。 显示selectOneMenu,但隐藏了ItemLabel,主题为“trontastic”的黑色

enter image description here 并且不显示文件上传。

当我使用资源管理器而不是Chrome时,此问题不再存在 或当我做的时候

<p:commandButton value="Annuler" update="panel1" process="@this">
      <p:resetInput target="panel1" />
     </ p: commandButton>

enter image description here 我应该这样做,请提前感谢你

2 个答案:

答案 0 :(得分:1)

我不确定根本原因,但这是一个临时解决方案:

$(document).ready(function() {
    $(document.getElementById('button')).click();
});

这个脚本执行你的按钮:

<p:commandButton id="button"value="Annuler" update="panel1" process="@this" style="display:none;">
      <p:resetInput target="panel1" />
</p:commandButton>

尝试在javascript函数中提供按钮的确切客户端ID。您可以通过浏览器的设置进行检测。

关于问题本身; p:selectOneMenu显示标签内的选定值。我想......覆盖它的css,让我们给你的p:selectOneMenu(假设菜单),如果它存在于表单内(假设它的id是表单)。因此,您可以尝试通过以下方式更改该标签的CSS:

$(document.getElementById('form:menu_label')).css("width":150);

或者直接改变.ui-selectonemenu label

的css类

同样为了避免从视图状态错误ajax=false应该添加到导航按钮。实际上,导航应该通过链接及其outcome属性来完成,例如here

答案 1 :(得分:1)

当我像这样改变我的方法时

public String Ajouter(){
    selcetitem=new Composant();
    return "AjoutC?faces-redirect=true";
}

而不是

public String Ajouter(){
        selcetitem=new Composant();
        return "AjoutC";
    }

它工作正常:)