Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Web
Expertise: Intermediate
Jul 10, 2000

Focus Your Users Using ASP And JavaScript

Many sites don't do a very good job focusing their users attention on the form controls that they have to fill out. It's easy to jump from one form control to the next using the Tab key once the cursor is already inside the form, but getting it there sometimes can be tricky. To help users with that, you can place the following small piece of JavaScript code somewhere after your form's closing tag:

 
<SCRIPT language=JavaScript>
   document.forms[0].elements[0].focus()  
 // Position the cursor on the first form control
</SCRIPT>

Furthermore, if you do server-side validation of certain form elements, then you can focus users on the controls that they missed or filled with bad data using a similar approach. When rejecting a submitted form, your server-side script can redirect the user back to the form's page adding to the URL's query string the name of the form control that must be re-entered. For example, the following code in the validating script:

 
<%
Dim strBadControlName, strUserPrompt

'Validate the form
If Trim(Request.Form("FIRSTNAME")) = "" Then
   strBadControlName = "FIRSTNAME"
   strUserPrompt = "Please enter your first name!"
ElseIf Trim(Request.Form("LASTNAME")) = "" Then
   strBadControlName = "LASTNAME"
   strUserPrompt = "Please enter your last name!"
ElseIf Not IsNumeric(Request.Form("AGE")) Then
   strBadControlName = "AGE"
   strUserPrompt = "Please enter your age!"
End If

'Redirect back to the form if one of the required elements is missing or 
incorrect
If strBadControlName <> "" And strUserPrompt <> "" Then _
  Response.Redirect "FormPage.asp?CONTROL=" +  strBadControlName + 
"&MSG=" + Server.URLEncode(strUserPrompt)
%>
will cause the form page to load with the cursor already conveniently placed in the control in question, provided that the page has the following code in it:
 
<SCRIPT language=JavaScript>
   document.forms[0].<%=Request.QueryString("CONTROL")%>.focus() 
// Position the cursor on the control
   alert("<%=Request.QueryString("MSG")%>")  
// Tell the user why the form was rejected
</SCRIPT>
Again, this JavaScript code needs to be placed somewhere after the form itself.

Teymour Askerov
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date