I have tried a couple functions I found posted online but they don't
work (see below)
The closest I got was using the scrolldown method:
http://msdn.microsoft.com/library/default.asp?
url=/workshop/author/dhtml/reference/methods/doscroll.asp
but this only scrolls down at most 1 page. How do I scroll to the
absolute bottom no matter how much text is in the box?
Thanks
in Head:
<script type="text/javascript">
function focusById(elemid)
{
elem = document.getElementById(elemid);
if(elem)
{
elem.focus();
MoveToEnd(elem);
elem.focus();
}
}
function MoveToEnd(Element)
{
if ( Element.createTextRange )
Element.createTextRange().text += "";
else if ( Element.insertionPoint )
Element.insertionPoint = Element.text.length;
}
</script>
</HEAD>
In onload (various versions, #6 sort of worked):
// SCROLL TO BOTTOM OF TEXTBOX #1 AND SET FOCUS ON TEXTBOX #2
//ATTEMPT #1
focusById(document.Form1.Textbox1);
document.Form1.Textbox2.focus();
//ATTEMPT #2
var sText=document.Form1.Textbox1.value;
document.Form1.Textbox1.value=sText;
document.Form1.Textbox2.focus();
//ATTEMPT #3
document.Form1.Textbox1.focus();
document.Form1.Textbox1.MoveToEnd(elem);
document.Form1.Textbox1.elem.focus();
document.Form1.Textbox2.focus();
//ATTEMPT #4
document.Form1.Textbox1.focus();
document.Form1.Textbox1.MoveToEnd(elem);
document.Form1.Textbox1.elem.focus();
document.Form1.Textbox1.doScroll();
document.Form1.Textbox2.focus();
//ATTEMPT #5
MoveToEnd(document.Form1.Textbox1);
document.Form1.Textbox2.focus();
//ATTEMPT #6
//seemed to work but only scrolls down a little
//how do i scroll to the absolute end
//no matter how much text is in Textbox1 ?
MoveToEnd(document.Form1.Textbox1);
document.Form1.Textbox1.doScroll('down');
document.Form1.Textbox2.focus();
//ATTEMPT #7
document.Form1.Textbox1.doScroll('down');
document.Form1.Textbox2.focus()
Isn't this what HTML anchors are for?
Add an anchor at the appropriate place, then modify the
document.location. The browser will then work out how much to scroll
and it is likely far more cross-browser than a "scroll by" method.
--
Zif
Mad:
window.onload = function()
{
setTimeout(
'document.getElementById("Textbox1").scrollTop=10000'
,50
);
document.getElementById("Textbox2").focus();
}
You may be confusing older style (DOM 0) hierarchial object references,
which use form/element names (document.form_name.field_name) with DOM
1+ document.getElementById, which uses the element's (string) id
assigned via HTML. Be sure and id the fields as well for the above to
work. The timer delay is just an expedient necessary in some browsers
to allow the field to 'set up' before scripting it. Element.scrollTop
is well-supported by now; the high value assures (more or less) that
the entire element will be scrolled.