Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 选择一个菜单更改成为输入文本';它不可写_Jsf_Primefaces - Fatal编程技术网

Jsf 选择一个菜单更改成为输入文本';它不可写

Jsf 选择一个菜单更改成为输入文本';它不可写,jsf,primefaces,Jsf,Primefaces,在XHTML页面中,我使用的是Primefaces,版本3.5。在那里,我有一个selectOneMenu,2个inputText,它们是只读的,其他可编辑的inputText,以及其他selectOneMenu。当我更改第一个selectOneMenu时,只读inputText的值将更改。我必须使用p:ajax来影响这些readonyinputText。然而,奇怪的是,在这一更改之后,键入甚至聚焦其他可编辑的inputText,是不可能的。不过,也可以更改其他selectOneMenu的值。此

在XHTML页面中,我使用的是Primefaces,版本3.5。在那里,我有一个
selectOneMenu
,2个
inputText
,它们是只读的,其他可编辑的
inputText
,以及其他
selectOneMenu
。当我更改第一个
selectOneMenu
时,只读
inputText
的值将更改。我必须使用
p:ajax
来影响这些readony
inputText
。然而,奇怪的是,在这一更改之后,键入甚至聚焦其他可编辑的
inputText
,是不可能的。不过,也可以更改其他
selectOneMenu
的值。此外,即使在
selectOneMenu
组件中,也无法再使用TAB按钮更改焦点。只有通过鼠标点击,才有可能改变焦点。 XHTML代码如下所示:

    <p:panelGrid id="pnlDadosAparelhosArquivo" styleClass="noBorders"
        style="width: 100%;">
        <p:row>
            <p:column style="width: 50%; vertical-align: top">
                <p:selectOneMenu id="selSubTipo"
                    value="#{boObjetosMB.selectedIdSubtipoObjetoLista}"
                    styleClass="select295" required="true">
                    <f:selectItem itemValue=""
                        itemLabel="#{m['label.item.selecione']}" />
                    <f:selectItems value="#{boObjetosMB.colSubtiposSim}" />
                    <p:ajax event="change" update="descrSubtipoObjeto descrTipoObjeto" />
                </p:selectOneMenu>
            </p:column>
            <p:column style="width: 50%;">
                <!-- Not related -->
            </p:column>
        </p:row>

        <!-- The disabled inputText's to be affected by selSubTipo changing. -->
        <p:row id="rowSubtipo">
            <p:column>
                <p:inputText value="#{boObjetosMB.descrSubtipoObjeto}"
                    disabled="true" id="descrSubtipoObjeto" styleClass="texto290"
                    style="text-transform: uppercase;" />
            </p:column>
            <p:column>
                <p:inputText value="#{boObjetosMB.descrTipoObjeto}" disabled="true"
                    id="descrTipoObjeto" styleClass="texto290"
                    style="text-transform: uppercase;" />
            </p:column>
        </p:row>

        <!-- The disabled inputText's to be *NOT* affected by selSubTipo changing. -->
        <p:row>
            <p:column>
                <p:inputText id="txtNotaFiscal"
                    value="#{boObjetosMB.arquivoObjetos.notafiscal}"
                    styleClass="texto290" />
            </p:column>
            <p:column>
                <p:inputText id="textQuantidade"
                    value="#{boObjetosMB.objeto.quantidade}" maxlength="8"
                    styleClass="texto290" required="true">
                </p:inputText>
            </p:column>
        </p:row>
    </p:panelGrid>

我已经验证了在呈现的HTML输入中没有添加readonly或disabled属性。实际上,它们保持不变

这就像添加了一些javascript代码,当我聚焦一个输入时,它会立即模糊(
onfocus=“this.blur()”

有人知道会发生什么吗

谢谢


Rafael Afonso

您必须在浏览器控制台的网络部分检查来自ajax请求的响应。可能您遇到了一个异常,但您没有看到它。

@DavidMantilla:正如您所建议的,我看到了ajax响应,但显然没有任何异常:

<changes>
    <update id="form:descrSubtipoObjeto">
        <![CDATA[
        <input id="form:descrSubtipoObjeto" name="form:descrSubtipoObjeto" type="text" 
            value="Telefone celular" disabled="disabled" style="text-transform: uppercase;" 
            class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all ui-state-disabled texto290" />
        <script id="form:descrSubtipoObjeto_s" type="text/javascript"><!--
PrimeFaces.cw('InputText','widget_form_descrSubtipoObjeto',{id:'form:descrSubtipoObjeto'});
//--></script>
        ]]>
    </update>
    <update id="form:descrTipoObjeto">
        <![CDATA[
        <input id="form:descrTipoObjeto" name="form:descrTipoObjeto" type="text" 
            value="Telecomunicação" disabled="disabled" style="text-transform: uppercase;" 
            class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all ui-state-disabled texto290" />
        <script id="form:descrTipoObjeto_s" type="text/javascript">
<!--
PrimeFaces.cw('InputText','widget_form_descrTipoObjeto',{id:'form:descrTipoObjeto'});
//--></script>
        ]]>
    </update>
    <update id="javax.faces.ViewState">
        <![CDATA[vFKt6AyMKaC9xPonL64tq0iGsxavgotXF7p2tRUDh/iNY0ONSH6BeAp7RMYstRq6elln1g2GqDwlZEL6ElKAlM+c3HYww/UrMNS41Kbh4QsnGQWu6l61XlbYmSTCNAk2JPDN0EODhIlKAgta]]>
    </update>
</changes>

]]>
]]>