Jeremy, Could you try a quick experiment? Swap from af:showOneChoice to af:showOneTab and see if it all works? I'm curious if the problems are with the renderer (I'm less than 100% confident in the showOneChoice renderer code) or with the component logic.
-- Adam On 4/6/06, Jeremy Sager <[EMAIL PROTECTED]> wrote: > > > > Hi guys – > > > > I'm moving this from the myfaces list to the adf faces list because it's > more appropriate here, and I'm sure Jonas checks both. > > > > It turns out that using the correct html and body tags solved our test case, > but it did not solve my production case. I've done more testing and further > isolated some issues… > > > > Scenario 1: > > > > If I assign an id by hand (i.e. having an attribute id="_123456" or > whatever) to the showOneChoice, it malfunctions in the way I initially > described, with the input automatically reverting to the first item in the > drop down list whenever anything is selected. > > > > Scenario 1b: > > > > If you remove the facet and just have the showOneChoice inside the panel > page, it misbehaves exactly once and then moves on to Scenario 2. > > > > Scenario 2: > > > > If you do not assign the id by hand and it is generated automatically, the > input does NOT revert to the first item in the drop down list automatically, > but it does still have a problem. > > > > The correct CoreShowDetailItem does not display... the final visible output > for the test page I am about to show you is always "Showing One" even when > the input box shows "Item Two". I included a picture here, it may show up > as an attachment. > > > > > > > > Included here is the exact page from beginning to end that renders Scenario > Two. To get Scenario One, just add id= to the showOneChoice. Below that I > will also include the generated source from the page (it's not that big) and > also the facelets debug screen. > > > > My Facelets Page: > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > > > > <afh:html xmlns="http://www.w3.org/1999/xhtml" > > xmlns:ui="http://java.sun.com/jsf/facelets" > > xmlns:h="http://java.sun.com/jsf/html" > > xmlns:c="http://java.sun.com/jstl/core" > > xmlns:f="http://java.sun.com/jsf/core" > > xmlns:t="http://myfaces.apache.org/tomahawk" > > xmlns:cssi="http://www.chessys.com" > > xmlns:afh="http://xmlns.oracle.com/adf/faces/html" > > xmlns:af="http://xmlns.oracle.com/adf/faces"> > > <ui:debug> > > <afh:body> > > <af:form> > > <af:panelPage> > > <f:facet name="menu1"> > > <af:showOneChoice position="top"> > > <af:showDetailItem > text="Item One"> > > <af:outputText > value="Showing One"/> > > </af:showDetailItem> > > <af:showDetailItem > text="Item Two"> > > <af:outputText > value="Showing Two"/> > > </af:showDetailItem> > > </af:showOneChoice> > > </f:facet> > > </af:panelPage> > > </af:form> > > </afh:body> > > </ui:debug> > > </afh:html> > > > > > > The results are the same with the ui:debug tag removed. > > > > > > Generated Source: > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" > "http://www.w3.org/TR/html4/loose.dtd"><!-- Start: > oracle.adf.Html["_id1"] --><html dir="ltr" lang="en"><script > language="javascript" type="text/javascript"> > > //<![CDATA[ > > function faceletsDebug(URL) { day = new Date(); id = day.getTime(); > eval("page" + id + " = window.open(URL, '" + id + "', > 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=600,left > = 240,top = 212');"); };var faceletsOrigKeyup = document.onkeyup; > document.onkeyup = function(e) { if (window.event) e = window.event; if > (String.fromCharCode(e.keyCode) == 'D' & e.shiftKey & e.ctrlKey) > faceletsDebug('/TRecsWebClient/pages/trecs.jsf?facelets.ui.DebugOutput=1144339607314'); > else if (faceletsOrigKeyup) faceletsOrigKeyup(e); }; > > //]]> > > </script> > > <!-- Start: oracle.adf.Body["_id3"] --> > > <body onload="_checkLoad(event)" > onunload="_checkUnload(event)"><script>var _AdfWindowOpenError='A popup > window blocker has been detected in your browser. Popup blockers interfere > with the operation of this application. Please disable your popup blocker or > allow popups from this site.';</script><script > src="/TRecsWebClient/adf/jsLibs/Commonea20.js"></script><!-- > Start: oracle.adf.Body["_id3"] --> > > <iframe id="_pprIFrame" name="_pprIFrame" frameborder="0" longdesc="#" > title="" src="about:blank" > style="position:absolute;top:-100px;visibility:hidden" > width="0" height="0"></iframe> > > <!-- Start: oracle.adf.Body["_id3"] --><div id="_pprBlockingDiv" > onclick="return _pprConsumeClick(event);" > style="position:absolute;left:0;top:0;width:0;height:0;cursor:wait;" > onkeydown="return false;" onkeyup="return false;" onmousedown="return > false;" onmouseup="return false;" onkeypress="return > false;"></div><script>var _cachedLibs;</script><a name="top"></a> > > <noscript>This page uses JavaScript and requires a JavaScript enabled > browser.Your browser is not JavaScript enabled.</noscript> > > <!-- Start: oracle.adf.Form["_id4"] --> > > <form id="_id4" name="_id4" style="margin:0px" onkeypress="return > _submitOnEnter(event,'_id4');" method="POST" > action="/TRecsWebClient/pages/trecs.jsf;jsessionid=FF3329E7CD5F9FBA6D10F3687ECCD300"><!-- > Start: oracle.adf.Panel["_id5"] --><a href="#TheContent" class="x6g">Skip > navigation elements to page contents</a><!-- Start: oracle.adf.Panel["_id5"] > --><table cellpadding="0" cellspacing="0" border="0" width="100%" > summary=""> > > <tr> > > <td align="right" valign="bottom"><script>function > _socGetSelection(elem){ var selectedElem = document.getElementById(elem); > var selectedOptions = selectedElem.options; var numOptions = > selectedOptions.length; for (i = 0; i < numOptions; i++) { var > selectOption = selectedOptions.item(i); var isSelected = > selectOption.selected; if (isSelected) { return selectOption.id; > break; } }}</script><!-- Start: oracle.adf.ShowOne["_id6"] --><table > id="_id6" summary="" border="0" cellspacing="0" cellpadding="0"> > > <tr> > > <td align="center"><table id="_id6_soc_tbl" border="0" > cellspacing="0" cellpadding="0" summary=""> > > <tr> > > <td align="left" nowrap><span class="xa"><label > for="_id6_soc_tbl_chc"></label></span></td> > > <!-- Start: oracle.adf.ShowOne["_id6"] --> > > <td width="12"></td> > > <!-- Start: oracle.adf.ShowOne["_id6"] --> > > <td valign="top" nowrap> > > <select id="_id6_soc_tbl_chc" > name="_id6_soc_tbl_chc" class="x6" onchange="var selectedOption = > _socGetSelection('_id6_soc_tbl_chc'); _submitPartialChange('_id4','1', > {partialTargets:'_id6', > event:'show',source:selectedOption});return true;"> > > <option id="_id7" selected>Item One</option> > > <!-- Start: oracle.adf.ShowOne["_id6"] --> > > <option id="_id9">Item Two</option> > > </select> > > </td> > > </tr> > > </table></td> > > </tr> > > <!-- Start: oracle.adf.ShowOne["_id6"] --> > > <tr> > > <td height="8"></td> > > </tr> > > <!-- Start: oracle.adf.ShowOne["_id6"] --> > > <tr> > > <td><!-- Start: oracle.adf.ShowDetail["_id7"] --><!-- > Start: oracle.adf.Output["_id8"] -->Showing One</td> > > </tr> > > </table></td> > > > > <td><img src="/TRecsWebClient/adf/images/t.gif" alt="" > width="10" height="1"></td> > > </tr> > > > > <tr> > > <td colspan="2" width="100%"><!-- Start: > oracle.adf.Panel["_id5"] --><table class="x82" cellpadding="0" > cellspacing="0" border="0" summary="" width="100%"> > > <tr> > > <td height="1"></td> > > </tr> > > </table></td> > > </tr> > > </table><!-- Start: oracle.adf.Panel["_id5"] > --><div><div></div><!-- Start: oracle.adf.Panel["_id5"] --><div></div><!-- > Start: oracle.adf.Panel["_id5"] --><a id="TheContent" name="TheContent" > class="xj"></a><!-- Start: oracle.adf.Panel["_id5"] --><table width="100%" > summary="" border="0" cellspacing="0" cellpadding="0"> > > <tr valign="top"> > > <td width="100%"></td> > > <!-- Start: oracle.adf.Panel["_id5"] --> > > <td nowrap></td> > > </tr> > > </table><div></div><!-- Start: oracle.adf.Panel["_id5"] > --><div></div><!-- Start: oracle.adf.Panel["_id5"] --><div> > > <hr class="x4q"><div class="x4s"></div><div > class="x4r"></div><div > class="x4t"></div></div><div></div></div><!-- Start: > oracle.adf.Panel["_id5"] --><div class="x4u"><div class="x4v"><span > class="x1a"></span><span class="x1b"></span><span > class="x1c"></span></div></div> > > <input type="hidden" name="oracle.adf.faces.FORM" value="_id4"><span > id="__id4_Postscript"><input type="hidden" > name="oracle.adf.faces.STATE_TOKEN" > value="1caffdd1"><script>function __id4Validator(){return > true;}var > _id4_SF={};</script></span><script>_submitFormCheck();</script></form> > > <!-- MYFACES JAVASCRIPT --> > > > > <script type="text/javascript"><!-- > > function getScrolling() { > > var x = 0; var y = 0; > > if (self.pageXOffset || self.pageYOffset) { > > x = self.pageXOffset; > > y = self.pageYOffset; > > } else if ((document.documentElement && > document.documentElement.scrollLeft)||(document.documentElement > && document.documentElement.scrollTop)) { > > x = document.documentElement.scrollLeft; > > y = document.documentElement.scrollTop; > > } else if (document.body) { > > x = document.body.scrollLeft; > > y = document.body.scrollTop; > > } > > return x + "," + y; > > } > > > > //--></script> > > > > </body> > > <!-- Created by Oracle ADF Faces (ADF JavaServer Faces API - > ea20-SNAPSHOT/ADF JavaServer Faces Impl - ea20-SNAPSHOT), skin:trecs.basic > (trecsbasic) --></html> > > > > > > Facelets Debug Screen: > > > > Debug Output > > /pages/trecs.xhtml > > +- Component Tree > > <UIViewRoot locale="en" renderKitId="oracle.adf.core" rendered="true" > transient="false" viewId="/pages/trecs.xhtml"> > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > > > <HtmlHtml id="_id1" rendered="true" transient="false"> > > <UIDebug hotkey="D" id="_id2" rendered="true" transient="true"> > > <HtmlBody firstClickPassed="false" id="_id3" rendered="true" > transient="false"> > > <CoreForm id="_id4" rendered="true" submitted="false" transient="false" > usesUpload="false"> > > <CorePanelPage chromeType="compact" id="_id5" > menu1="CoreShowOneChoice[UINodeFacesBean, id=_id6]" messageType="none" > quickLinksShown="false" rendered="true" transient="false"> > > menu1 > > <CoreShowOneChoice accessKey="" alignment="center" id="_id6" position="top" > rendered="true" transient="false"> > > <CoreShowDetailItem accessKey="" disabled="false" disclosed="false" > id="_id7" immediate="false" rendered="true" text="Item One" > transient="false"> > > <CoreOutputText escape="true" id="_id8" rendered="true" transient="false" > truncateAt="0" value="Showing One"/> > > </CoreShowDetailItem> > > <CoreShowDetailItem accessKey="" disabled="false" disclosed="false" > id="_id9" immediate="false" rendered="true" text="Item Two" > transient="false"> > > <CoreOutputText escape="true" id="_id10" rendered="true" transient="false" > truncateAt="0" value="Showing Two"/> > > </CoreShowDetailItem> > > </CoreShowOneChoice> > > </CorePanelPage> > > </CoreForm> > > </HtmlBody> > > </UIDebug> > > </HtmlHtml> > > </UIViewRoot> > > +- Scoped Variables > > > Request Parameters > > > Name > > Value > > > None > > > > > Request Attributes > > > Name > > Value > ... > > [Message clipped]
