Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 334
  • Last Modified:

Why does my JSP appear scrolled down to the bottom.

I imagine this will be an easy question probably. I have a JSP application up and running using Apache Struts. I have the annoying problem which users are complaining about that when a page is being generated which requires scrolling, it appears scrolled down to the bottom. I would wish for any page to appear with the page appearing with the scrolling at the top and that the user scrolls down from there. I bet this is easy to fix. I thought I might trawl through some articles and search engines and see if I could find others who have this problem and look at fixing it. I could spend lots of time looking through the internet and such for an answer but......I am tired...
0
carljokl
Asked:
carljokl
  • 5
  • 5
1 Solution
 
TimYatesCommented:
I'm guessing you must have an anchor in the URL ie:

    http://www.myserver.com/mypage.do#something

if it's not that, I've never heard of it...

Can you post an example, or give a link to your site?

Tim
0
 
carljoklAuthor Commented:
This is the generated source code of the page in question. I have noticed it did not open at the bottom but openend half way down the paged,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
      <head>
            <title>RentalResult</title>
            <link rel="stylesheet" media="screen" type="text/css" title="RentalResult Design" href="jsp/styles/style.css"/>
      </head>
      <body>
<div id="principal">
                  <div id="bloctitle">
                        <img src="/river/jsp/images/logosmall.jpg" id="title" alt="Rental Result">
                        <h1 id="description">Documents</h1>
                  </div>
                  <div id="blochead">

      
                        <div class="name">result from result</div>
      



</div>
<div id="bloccenter">


      
      
            <div id="menubloc">
                  <ul id="menu">
                        <li><a href="/river/Index.do">Index</a></li>
                        <li><a href="/river/RequestList.do">Requests</a></li>
                        <li><a href="/river/DocumentList.do?parentId=1">Documents</a></li>
                         <li><a href="/river/UsersList.do">Users</a></li>
                        <li><a href="/river/CompaniesList.do">Clients</a></li>
                        <li><a href="/river/ProspectingList.do">Prospecting</a></li>
                        <li><a href="/river/Account.do">Account</a></li>
                        <li><a href="/river/Logout.do">Logout</a></li>
                  </ul>
            </div>
      
      









<script language="JavaScript">
    function ValidationRemove(text)
    {
        var where_to = confirm(text);
        if (where_to == true)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
</script>

<h1>Documents list</h1>
<div class="center">
<div class="separator"></div>
<form name="search" method="post" action="/river/SearchDone.do">
<table class="center">
      <tr>
            <td><h1>Search:</h1></td>
            <td><input type="text" name="searchText" size="20" value=""></td>
        <td>Exact Match:</td>
            <td><input type="checkbox" name="exactMatch" value="true"></td>
            <td><input type="submit" value="Search"></td>
      </tr>
</table>
</form>
<script type="text/javascript" language="JavaScript">
  <!--
  var focusControl = document.forms["search"].elements["searchText"];

  if (focusControl.type != "hidden" && !focusControl.disabled) {
     focusControl.focus();
  }
  // -->
</script>

</div>



<div class="separator"></div>

   
        \<a href="/river/DocumentList.do?parentId=1" class="center">principal</a>
   

<br>

<div class="separator"></div>
<table>
   
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=329" class="center">Company</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Documents for the company</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=329" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=329" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=329" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=97" class="center">Development</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Contains Development Schedule and Useful Documents for spec writers &amp; developers
</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=97" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=97" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=97" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=200" class="center">HelpDesk &amp; Support</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Contains HelpDesk Information &amp; Support Documents, including Customer SLA&#39;s, System Access Lists, Passwords, etc</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=200" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=200" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=200" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=92" class="center">Manuals</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Contains Java, Character, Internal and BI Manuals</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=92" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=92" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=92" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=259" class="center">Personnel Files</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: All day-to-day files relating to Personnel, including Holiday Forms, etc</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=259" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=259" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=259" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=215" class="center">Project Management</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Contains Account Management Tools, including Account Owners, Project Updates and Planning Tools</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=215" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=215" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=215" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=217" class="center">Prototyping</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: general...</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=217" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=217" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=217" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=98" class="center">QA</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Contains Quality Manual Staffing profiles customer builds</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=98" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=98" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=98" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=94" class="center">Systems and Logins</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Contains log in, script, environment, release versions etc for customer sites</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=94" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=94" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=94" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=93" class="center">Templates</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Contains standard templates for specs, release forms, holiday forms etc</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=93" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=93" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=93" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=95" class="center">Training</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Contains Agendas etc</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=95" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=95" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=95" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=238" class="center">USA Application Files</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: USA Application File</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=238" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=238" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=238" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=227" class="center">User Group Files</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Documents for the User Group to Utilise</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=227" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=227" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=227" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
            <tr>
                <td>
                   
                        <img src="/river/jsp/images/dir.gif" alt="document">
                   
                   
                   
                        <a href="/river/DocumentList.do?parentId=228" class="center">User Group USA Files</a>
                   
                   
                   
                </td>
            </tr>
            <tr>
                <td><p>Description: Documents for the USA User Group to Utilize</p></td>
            </tr>
            <tr>
                <td>
                   
                       
                            <a href="/river/RemoveNode.do?parentId=1&amp;id=228" class="center" onclick="return ValidationRemove('Do you want to remove this folder?');">remove
                                folder</a>
                            <a href="/river/RenameNode.do?&amp;nodeId=228" class="center">rename folder</a>
                            <a href="/river/ManageDocs.do?&amp;nodeId=228" class="center">share folder</a>
                       
                       
                   
                   
                </td>
            </tr>
            <tr>
                <td>
                    <div class="separatorSmall"></div>
                </td>
            </tr>
       
   
</table>

   
        <div class="center">
            <div class="separatorBig"></div>
            <h1>Add folder</h1>
            <form name="addfolder" method="post" action="/river/AddFolderDone.do">
                <table class="center">
                    <tr>
                        <td>Set folder name:<br>(name where documents will be saved)</td>
                        <td><input type="text" name="name" size="20" value=""></td>
                    </tr>
                    <tr>
                        <td>Set display name:<br>(name which will appear into documents list)</td>
                        <td><input type="text" name="displayName" size="20" value=""></td>
                    </tr>
                    <tr>
                        <td>Set description:</td>
                        <td><textarea name="description" cols="30" rows="8"></textarea></td>
                    </tr>
                </table>
                (* all fields are mandatory)
                <div class="separator"></div>
                <table class="center">
                    <tr>
                        <td><input type="submit" value="Submit"></td>
                        <td><input type="reset" value="Reset"></td>
                    </tr>
                </table>
                <input type="hidden" name="parentId" value="1">
            </form>
<script type="text/javascript" language="JavaScript">
  <!--
  var focusControl = document.forms["addfolder"].elements["name"];

  if (focusControl.type != "hidden" && !focusControl.disabled) {
     focusControl.focus();
  }
  // -->
</script>

            <div class="separatorBig"></div>
            <h1>Add file</h1>
            <form name="addfile" method="post" action="/river/AddFileDone.do" enctype="multipart/form-data">
                <table class="center">
                    <tr>
                        <td>Select file:</td>
                        <td><input type="file" name="theFile" value=""></td>
                    </tr>
                    <tr>
                        <td>Set description:</td>
                        <td><textarea name="description" cols="30" rows="8"></textarea></td>
                    </tr>
                </table>
                (* all fields are mandatory)
                <input type="hidden" name="parentId" value="1">
                <div class="separator"></div>
                <table class="center">
                    <tr>
                        <td><input type="submit" value="Submit"></td>
                        <td><input type="reset" value="Reset"></td>
                    </tr>
                </table>
            </form>
        </div>
   


            </div>
                  <div id="blocfoot"></div>
            </div>
      </body>
</html>

0
 
TimYatesCommented:
It's beacuse you set the focus in a field that's half way down the page:

     focusControl.focus();

(probably)

I will try and test it ;-)

Tim
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
carljoklAuthor Commented:
That looks like a likely culprit. Well at least it is not my code. I wonder what the creater was hoping to achieve with it.
0
 
TimYatesCommented:
[after testing]  Yup...  That's why...

Either

1)  Accept the fact it's going to scroll down to the focused input box
2)  Don't set the focus on that input box, as it will scroll the page
3) Change:

  if (focusControl.type != "hidden" && !focusControl.disabled) {
     focusControl.focus();
  }

to

  if (focusControl.type != "hidden" && !focusControl.disabled) {
     focusControl.focus();
     window.setTimeout( "window.scrollTo( 0, 0 )", 5 ) ;
  }

To snap the scroll back up to the top of the page after 5 milliseconds (obviously, this is a bit of a hack) ;-)

Tim
0
 
TimYatesCommented:
>> I wonder what the creater was hoping to achieve with it.

It's usually good manners when designing a page, that if someone HAS to enter something to progress (or will enter something 99% of the time), that you put the cursor in that entry box ready for them...it saves them a mouse click (ie:  google does it on their search page)

This page looks a bit too busy to use it though...as there are LOADS of things a user can do, and trying to force them down one path is obviously annoying those who use a different path :-)

Tim
0
 
carljoklAuthor Commented:
I think what is interesting is that bit of Java script is not anywhere in my JSP document. It is being autogenerated form somewhere. I wonder if it is part of the Struts framework. I am going to look for clues in the Stuts config file
0
 
carljoklAuthor Commented:
This page is part of a document management system. The page is busy because there are elements itterated over for each document in a given folder. At the bottom there are forms for adding a folder or a file. It looks like the name field from one of these is grabbing the focus. I guess during the testing phase this would have been less obvious.
0
 
carljoklAuthor Commented:
Aha! I have found tha property on the form on the JSP which gives focus to the name field. I will remove it.
0
 
TimYatesCommented:
yay! :-)
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now