RichFaces の a4j:support を使用して、ページ上の一部のコントロールの表示を切り替えています。ただし、h:selectOneRadio ボタン rdoRequestType が変更されると、txtLibraryServerNumber および ID "media" の a4j:outputPanel 内の他のコントロールの値がクリアされます。ページ上の 1 つの AJAX 呼び出しが別の AJAX パネルに干渉するのはなぜですか?
selectOneRadio の a4j:support タグで "process" 属性を使用して、他のパネルのテキスト ボックスの値を Seam Bean に書き込むようにしましたが、効果がありません。私は一体何を間違っているのですか?ヘルプ!気がおかしくなりそうだ!!
<h:selectOneRadio value="#{webencode.requestType}"
id="rdoRequestType" styleClass="radio" style="width:295px" layout="pageDirection" >
<f:selectItem itemValue="program" itemLabel="Series or Individual Program"/>
<f:selectItem itemValue="promo" itemLabel="Promo" />
<f:selectItem itemValue="specific" itemLabel="Specific Format Encoding Request"/>
<a4j:support ajaxSingle="true" event="onclick" reRender="program" process="txtLibraryServerNumber,txtDigitalMediaFileName"/>
</h:selectOneRadio>
<a4j:outputPanel id="program" ajaxRendered="true">
<s:span rendered="#{('program' == webencode.requestType || 'promo' == webencode.requestType) ? true : false}">
<h:selectOneMenu value="#{webencode.seriesId}" id="lstSeriesName">
<f:selectItems value="#{webencode.programItems}"/>
</h:selectOneMenu>
</s:span>
<s:span rendered="#{'specific' == webencode.requestType ? true : false}">
<h:selectOneMenu value="#{webencode.arrVideoEncodings.get(0).videoEncoding}"
id="lstSpecificVideoEncoding1" style="width:295px;">
<f:selectItems value="#{webencode.videoEncodingItems}"/>
</h:selectOneMenu>
</s:span>
</a4j:outputPanel>
<h:selectOneMenu value="#{webencode.inputMediaType}"
id="lstInputMediaType">
<f:selectItems value="#{webencode.inputMediaTypeItems}"/>
<a4j:support ajaxSingle="true" event="onchange" reRender="media" process="lstSeriesName,lstSpecificVideoEncoding1"/>
</h:selectOneMenu>
<a4j:outputPanel id="media" ajaxRendered="true">
<s:span rendered="#{'Tape Library # or Server ID #' == webencode.inputMediaType ? true : false}">
<h:inputText id="txtLibraryServerNumber"
value="#{webencode.libraryServerNumber}" maxlength="50" />
</s:span>
<s:span rendered="#{'Digital Media File Name' == webencode.inputMediaType ? true : false}">
<h:inputText id="txtDigitalMediaFileName"
value="#{webencode.digitalMediaFileName}" maxlength="195" /><br />
</s:span>
</a4j:outputPanel>