close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Setting focus to a specific text field?

Thread began 2/24/2010 11:00 am by Mikel Jones | Last modified 2/25/2010 5:51 am by Mikel Jones | 2938 views | 4 replies |

Mikel Jones

Setting focus to a specific text field?

Is there any way to set the focus when a page loads to have the input on a specific text field?

Example: When the user is directed to the login page I want the email address field to be selected and have the keyboard focus.

Sign in to reply to this post

CraigRBeta Tester

i think you can do this with a bit of javascript.

to focus on a field called message, try this..

<script type="text/javascript">
function
setFocus(){
document.getElementById("message").focus();
}
</script>
<body onload="setFocus()">

Sign in to reply to this post

Mikel Jones

Hmm... OK, that works on a test page but I now have another problem...

My body tag is located on a template and I don't have access to it on the page I need to set the focus on.

Or, to be more precise, I would like to dynamically set the control that gets the focus based on the page that is loading...

So... Can I put the java script code in the base template? Then I need a way to set the body tag on each page to the correct control for the page.

I think I would like to do something like the following in the body tag.
I know my syntax is not correct but you get the idea ...

First set a param $NameVar on the page that is loading to the control name.

<?php $NameVar = "message"; ?>

Then call the function with $NameVar as a param.

"<body <?php if( $NameVar <> null ) echo( onload="setFocus( $NameVar )" ); ?> >"


Sorry for the noob questions but I'm an old C++ guy and fresh into web development. I'm learning the code but Java Script has been down the priority list a bit. :) PhP, HTML, and XML among others have been quite enough to keep me busy so far.




...

Sign in to reply to this post

CraigRBeta Tester

not sure about a general solution, though i suppose you could store the name of the first field on a page in a database and retrieve the appropriate name at runtime. you could then pass this value into your function.

re your template issue, i remember a link i found a while ago about making the body tag editable.

i haven't tried it but here is a link...

1454.htm

Sign in to reply to this post

Mikel Jones

I just wanted to thank you for taking the time to get with me on this. The tech support you guys provide on this forum is outstanding.

Anyway, after doing some research based on what you gave me as a starting point I came up with the following code that works for me.

The following javascript function "setFocus()" will set the focus and select the text in the first form element on a page if the page has at least one form and that form has at least one element.

<script type="text/javascript">
function setFocus()
{
if( (document.forms.length > 0) && (document.forms[0].elements.length > 0) )
{
document.forms[0].elements[0].select();
document.forms[0].elements[0].focus();
}
}
</script>

Then it's just a matter of putting the function in your base template and calling it from the onload portion of the body tag as you have already stated.

<body onload = "setFocus();">

Easy squeezy! Now every page that has an input form based on that template will set the focus to the first input box on the page. No more code more needed.

Thanks again for all your help. You guys rock!




- Mikel




...

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...