...

View Full Version : Focus on text field upon page load?



SoCalMacDude
09-15-2005, 12:09 AM
How do I place the cursor in the first field of my form when the web page loads? I tried some simple code from ScriptSearch, but it didn't work for my page. Here's the script:
</HEAD>
<BODY BGCOLOR="#FF0000" onload="self.focus();document.pw.lasso.CustomerNumber.focus()">
<FORM ACTION="pw.lasso" METHOD=POST>
<INPUT TYPE=text NAME=CustomerNumber VALUE="" SIZE=10>

Is it the "dot" in the action name? How to fix?

Thanks,
Ken
P.S. Even better to select the text!

CrAzY_J
09-15-2005, 12:26 AM
<script type="text/javascript">
document.body.onload=function(){
this.focus()
document.myform.focus()
}
</script>

Sorry if it isn't correct, not too good with events >_<

SoCalMacDude
09-15-2005, 12:36 AM
Thanks for the post, but where's the code?? The code box looks empty from here. Is it me, or did you forget to paste the code?
:-)

CrAzY_J
09-15-2005, 02:01 AM
it's you :rolleyes:

SoCalMacDude
09-15-2005, 06:01 AM
I am in my home office now, and I see the code. It was me. Strange, I could see the code in other posts.
Being home, I'm not able to test this right now, but I'm wondering since "dots" are used to deliniate parts of the code, will the extra dot in my form name throw it off?
Thanks!

Pyth007
09-15-2005, 12:50 PM
The dot in the ACTION should be fine; the problem you might be having is that the form is not named (ie put name='myForm' into the FORM tag). Then onLoad='self.focus();document.myForm.CustomerNumber.focus();' should work.

FYI: I had also read someplace that IE sometimes acted strange when calling an immediate focus() on an object that didn't already have focus: the object would sort-of have focus. You wouldn't see the cursor anywhere, but hitting TAB would move focus to the next element in line. The work around for this problem was to delay the focus() call by a tenth of second, so the onLoad would look like:
onLoad='self.focus();setTimeout( 100,document.myForm.CustomerNumber.focus() );'

jbezweb
09-15-2005, 01:18 PM
Another possibility is:


<script type="text/javascript">

onload=
function getFocus()
{
var toFocus = document.getElementById("id_of_element");
toFocus.focus();
}

</script>

Cheers

Pyth007
09-15-2005, 01:49 PM
... If you do use the DOM's getElementById approach and need to also access the specific form (ie need to acces a field on a different window that's opened), use myForm.documents.getElementById('myElement')[.value] (getElementById returns the object with which other properties can be used. For example here the '.value' is optional, hense the []'s (so don't include them!))

OddLaW
09-29-2005, 11:16 PM
First post ... found this post on google. GREAT source, thanks for the code pyth :)



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum