I haven't tried this with dropdowns, but this is what I use for
linksubmits. It has some caveats though:  It has to be used within a
form named Form0 and it doesn't work with directLinks (I think)...
It'd be nice if someone could help a brother out to fix the Form0
thing and put it on tassel...



submitPersistence.html:
<span jwcid="@Script" script="submitPersistence.script"/>
<input jwcid="[EMAIL PROTECTED]" id="ScrollY" value="ognl:y"/>


submitPersistence.jwc:
<?xml version="1.0"?>
<!DOCTYPE component-specification PUBLIC
 "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
 "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0_3.dtd";>
<component-specification allow-body="no" allow-informal-parameters="no">
   <property-specification name="y" type="int" persistent="yes"/>
</component-specification>


submitPersistence.script:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script PUBLIC "-//Apache Software Foundation//Tapestry
Script Specification 3.0//EN"
"http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd";>

<script>
<body>
   <![CDATA[
        function saveScrollY() {                
                if (document.documentElement )
                        document.Form0.ScrollY.value = 
document.documentElement.scrollTop;
                else if (document.body)
                        document.Form0.ScrollY.value = document.body.scrollTop
                else
                        document.Form0.ScrollY.value = 
document.documentElement.scrollTop;
        }
        
        
        function clearScrollY() {                               
                        document.Form0.ScrollY.value = 0;
        }
        
        
        function resetScrollPosition() {
                var  hidy;
                hidy = document.Form0.ScrollY;  
                if (typeof hidy != 'undefined') {
                        window.scrollTo(0, hidy.value);
                }
        }
]]>
</body>
<initialization>
        resetScrollPosition();
</initialization>
</script>





So to use it, I do:

<form jwcid="[EMAIL PROTECTED]"  listener="ognl:listeners.submitListener" >
<span jwcid="@submitPersistence"  />
...
<a jwcid="@LinkSubmit"  onClick="saveScrollY();"
selected="ognl:moveDownItem" tag="ognl:currentStep" > move down </a>
...
</form>



-jer





On 7/6/06, James Carman <[EMAIL PROTECTED]> wrote:
All,

Does anyone know how to get Tapestry to "stay put" on a screen when you
submit the form and reshow it?  I have a form that is somewhat long.  When I
use an event (like selecting something in a drop-down box) that forces a
form submit to refresh some other parts of the screen, the screen goes back
up to the top.  I would like it to just stay where it is (somewhere near the
originating drop-down).  Any ideas?

James



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to