2016-07-21 8 views
0

私のアプリケーションのページの1つに、Ajaxイベントが発生しないselectOneMenuコンポーネントがあります。同様のコンポーネントを使って、似たようなページを期待通りに作っています。動作 一例:Ajaxイベントが呼び出されていません

<select id="transactionalParameters:0:debugLevelBusiness" name="transactionalParameters:0:debugLevelBusiness" class="form-control DEBUG" size="1" 
onchange="mojarra.ab(this,event,'valueChange','@this',0)"> 
       <option value="OFF">OFF</option> 
       <option value="ERROR">ERROR</option> 
       <option value="WARN">WARN</option> 
       <option value="INFO">INFO</option> 
       <option value="DEBUG" selected="selected">DEBUG</option> 
</select> 

動作しない成分:

<h:selectOneMenu value="#{debugParam.debugLevelBusiness}" 
    id="debugLevelBusiness" 
    rendered="#{not (debugParam.debugLevelBusiness eq 'DEPEN')}" 
    styleClass="form-control #{debugParam.debugLevelBusiness}"> 
    <f:selectItems value="#{manager.logLevels}" /> 
    <f:ajax execute="@this" listener="#{loggingBean.businessValueChangeListener(debugParam)}" /> 
</h:selectOneMenu> 

は、以下の要素を生成

<h:selectOneMenu value="#{parameter.epmsEventsLogState}"  
    id="epmsEventsLogState" 
    styleClass="form-control #{parameter.epmsEventsLogState}"> 
    <f:selectItem itemLabel="#{labels.enabled}" itemValue="E" /> 
    <f:selectItem itemLabel="#{labels.disabled}" itemValue="D" /> 
    <f:ajax execute="@this" listener="#{eventsLogBean.valueChangeListener(parameter)}" /> 
</h:selectOneMenu> 

は、以下の要素を生成し:

<select id="parameters:19:epmsEventsLogState" name="parameters:19:epmsEventsLogState" size="1" 
    onchange="jsf.ajax.request('parameters:19:epmsEventsLogState',event,{execute:'@this ','javax.faces.behavior.event':'valueChange'})" class="form-control E">    
      <option value="E" selected="selected">Ativo</option>    
      <option value="D">Inativo</option> 
</select> 

両方の要素で生成されたjavascriptの違いに注目してください。 これはWebSphere 9でのみ問題を引き起こしています。これはGlassFishとWildFlyでうまくいきます。 問題の原因を知っている人は誰ですか?

答えて

0

私は自分自身の質問に答えることをお詫びしますが、私は最終的に問題が何かを考え出しました。 <h:form>要素が<tbody>要素内にあり、WebSphereが生成された要素を間違えてしまい、すべての入力がフォーム外になっていました。 <h:form><table>の外に移動すると問題が解決しました。

+0

セルフアンサーリングはスタックオーバーフローで受け入れられるので、謝罪する必要はありません。 ;) – Haxiel

関連する問題