在XHTML页面中,我使用的是Primefaces,版本3.5。在那里,我有一个selectOneMenu
,2 inputText
个只读和其他可编辑的inputText
其他selectOneMenu
&#39} 。当我更改第一个selectOneMenu
时,只会更改只读inputText
的值。我必须使用p:ajax
来影响这些序言inputText
。然而,奇怪的是,在此更改之后输入或甚至关注其他可编辑项inputText
并不是更有可能。然而,可以更改其他selectOneMenu
的值。此外,即使在selectOneMenu
组件中,也无法再使用TAB按钮更改焦点。只有通过鼠标点击,才有可能改变焦点。
XHMTL代码如下:
<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代码,当我关注输入时,它是immedialety模糊(onfocus="this.blur()"
)。
任何人都知道可能会发生什么?
谢谢,
Rafael Afonso
答案 0 :(得分:0)
您必须在浏览器控制台的网络部分检查来自ajax请求的响应。可能你得到一个例外而你却没有看到它。
答案 1 :(得分:0)
@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>