467,927 Members | 1,845 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 467,927 developers. It's quick & easy.

Set Focus after Postback (vb.net newbie)

Mel
I have several text boxes and drop-down lists in an AJAX Update
Panel. All user inputs have the Postback property set to True. After
I type something in the first input entry and press the "Tab" key how
can I set the focus to the next box after the postback? Please help!

Using Visual Studio 2005 Pro, Asp.net 2.0, vb.net, WinXP
Jun 27 '08 #1
  • viewed: 6407
Share:
8 Replies
Use ScriptManager.SetFocus (myControl).

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
"Mel" <ML********@gmail.comwrote in message
news:45**********************************@m36g2000 hse.googlegroups.com...
>I have several text boxes and drop-down lists in an AJAX Update
Panel. All user inputs have the Postback property set to True. After
I type something in the first input entry and press the "Tab" key how
can I set the focus to the next box after the postback? Please help!

Using Visual Studio 2005 Pro, Asp.net 2.0, vb.net, WinXP

Jun 27 '08 #2
Mel
On Apr 16, 8:12 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
Use ScriptManager.SetFocus (myControl).

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net

"Mel" <MLights...@gmail.comwrote in message

news:45**********************************@m36g2000 hse.googlegroups.com...
I have several text boxes and drop-down lists in an AJAX Update
Panel. All user inputs have the Postback property set to True. After
I type something in the first input entry and press the "Tab" key how
can I set the focus to the next box after the postback? Please help!
Using Visual Studio 2005 Pro, Asp.net 2.0, vb.net, WinXP
THANK YOU! I wish I would have posted my question yesterday...I spent
hours sifting the web for an answer. I had Page.SetFocus(MyControl)
instead of ScriptManager.SetFocus (myControl).

Code Snippet:
Protected Sub txtCustomer_TextChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles txtCustomer.TextChanged
'customer text box (1st text box on screen)
If rfvCustomer.IsValid = True Then
Session("ProjName") = txtCustomer.Text
Else
Session("ProjName") = Nothing
End If
Session("QRNextControl") = "2"
SetNextQRControl()
End Sub
Protected Sub SetNextQRControl()
Select Case Session("QRNextControl")
Case "2"
ScriptManager1.SetFocus(txtProjAddr1) 'address 1 text
box
Case "3"
ScriptManager1.SetFocus(txtProjAddr2) 'address 2 text
box
Case "4"
ScriptManager1.SetFocus(txtProjCity) 'city text box
Case "5"
ScriptManager1.SetFocus(ddlStAbrv) 'state text box
Case "6"
ScriptManager1.SetFocus(txtZip) 'zip text box
Case "7"
ScriptManager1.SetFocus(txtCusContact) 'customer
Contact text box
Case "8"
ScriptManager1.SetFocus(txtCusPhone) 'customer Phone
text box
Case "9"
ScriptManager1.SetFocus(txtProjName) 'project Name
text box
Case "10"
ScriptManager1.SetFocus(rblPriceAdj) 'price
Adjustment text box
End Select
Session("QRNextControl") = ""
End Sub
Jun 27 '08 #3
>I wish I would have posted my question yesterday...I spent hours sifting
>the web for an answer.
This is the only way of getting experience known to me.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
"Mel" <ML********@gmail.comwrote in message
news:8c**********************************@y21g2000 hsf.googlegroups.com...
On Apr 16, 8:12 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
>Use ScriptManager.SetFocus (myControl).

--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net

"Mel" <MLights...@gmail.comwrote in message

news:45**********************************@m36g200 0hse.googlegroups.com...
>I have several text boxes and drop-down lists in an AJAX Update
Panel. All user inputs have the Postback property set to True. After
I type something in the first input entry and press the "Tab" key how
can I set the focus to the next box after the postback? Please help!
Using Visual Studio 2005 Pro, Asp.net 2.0, vb.net, WinXP

THANK YOU! I wish I would have posted my question yesterday...I spent
hours sifting the web for an answer. I had Page.SetFocus(MyControl)
instead of ScriptManager.SetFocus (myControl).

Code Snippet:
Protected Sub txtCustomer_TextChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles txtCustomer.TextChanged
'customer text box (1st text box on screen)
If rfvCustomer.IsValid = True Then
Session("ProjName") = txtCustomer.Text
Else
Session("ProjName") = Nothing
End If
Session("QRNextControl") = "2"
SetNextQRControl()
End Sub
Protected Sub SetNextQRControl()
Select Case Session("QRNextControl")
Case "2"
ScriptManager1.SetFocus(txtProjAddr1) 'address 1 text
box
Case "3"
ScriptManager1.SetFocus(txtProjAddr2) 'address 2 text
box
Case "4"
ScriptManager1.SetFocus(txtProjCity) 'city text box
Case "5"
ScriptManager1.SetFocus(ddlStAbrv) 'state text box
Case "6"
ScriptManager1.SetFocus(txtZip) 'zip text box
Case "7"
ScriptManager1.SetFocus(txtCusContact) 'customer
Contact text box
Case "8"
ScriptManager1.SetFocus(txtCusPhone) 'customer Phone
text box
Case "9"
ScriptManager1.SetFocus(txtProjName) 'project Name
text box
Case "10"
ScriptManager1.SetFocus(rblPriceAdj) 'price
Adjustment text box
End Select
Session("QRNextControl") = ""
End Sub

Jun 27 '08 #4
Mel
On Apr 16, 8:45 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
I wish I would have posted my question yesterday...I spent hours sifting
the web for an answer.

This is the only way of getting experience known to me.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net

"Mel" <MLights...@gmail.comwrote in message

news:8c**********************************@y21g2000 hsf.googlegroups.com...
On Apr 16, 8:12 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
Use ScriptManager.SetFocus (myControl).
--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net
"Mel" <MLights...@gmail.comwrote in message
>news:45**********************************@m36g200 0hse.googlegroups.com...
I have several text boxes and drop-down lists in an AJAX Update
Panel. All user inputs have the Postback property set to True. After
I type something in the first input entry and press the "Tab" key how
can I set the focus to the next box after the postback? Please help!
Using Visual Studio 2005 Pro, Asp.net 2.0, vb.net, WinXP
THANK YOU! I wish I would have posted my question yesterday...I spent
hours sifting the web for an answer. I had Page.SetFocus(MyControl)
instead of ScriptManager.SetFocus (myControl).
Code Snippet:
Protected Sub txtCustomer_TextChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles txtCustomer.TextChanged
'customer text box (1st text box on screen)
If rfvCustomer.IsValid = True Then
Session("ProjName") = txtCustomer.Text
Else
Session("ProjName") = Nothing
End If
Session("QRNextControl") = "2"
SetNextQRControl()
End Sub
Protected Sub SetNextQRControl()
Select Case Session("QRNextControl")
Case "2"
ScriptManager1.SetFocus(txtProjAddr1) 'address 1 text
box
Case "3"
ScriptManager1.SetFocus(txtProjAddr2) 'address 2 text
box
Case "4"
ScriptManager1.SetFocus(txtProjCity) 'city text box
Case "5"
ScriptManager1.SetFocus(ddlStAbrv) 'state text box
Case "6"
ScriptManager1.SetFocus(txtZip) 'zip text box
Case "7"
ScriptManager1.SetFocus(txtCusContact) 'customer
Contact text box
Case "8"
ScriptManager1.SetFocus(txtCusPhone) 'customer Phone
text box
Case "9"
ScriptManager1.SetFocus(txtProjName) 'project Name
text box
Case "10"
ScriptManager1.SetFocus(rblPriceAdj) 'price
Adjustment text box
End Select
Session("QRNextControl") = ""
End Sub
It works great. One small glitch though.
Lets say there are 3 text boxes. If you type some data in the 1st
text box and then instead of pressing the tab key you click your mouse
in the 3rd text box, after the postback the cursor is sitting in the
2nd text box. Not the 3rd one.
Jun 27 '08 #5
You can handle client side onfocus event to set a hidden text control to the
id of the element that got focus. On server side, you can set focus based on
the passed id as opposed to the session variable.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
"Mel" <ML********@gmail.comwrote in message
news:84**********************************@m1g2000p re.googlegroups.com...
On Apr 16, 8:45 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
>I wish I would have posted my question yesterday...I spent hours sifting
the web for an answer.

This is the only way of getting experience known to me.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net

"Mel" <MLights...@gmail.comwrote in message

news:8c**********************************@y21g200 0hsf.googlegroups.com...
On Apr 16, 8:12 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
Use ScriptManager.SetFocus (myControl).
>--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net
>"Mel" <MLights...@gmail.comwrote in message
>>news:45**********************************@m36g20 00hse.googlegroups.com...
>I have several text boxes and drop-down lists in an AJAX Update
Panel. All user inputs have the Postback property set to True.
After
I type something in the first input entry and press the "Tab" key
how
can I set the focus to the next box after the postback? Please
help!
Using Visual Studio 2005 Pro, Asp.net 2.0, vb.net, WinXP
THANK YOU! I wish I would have posted my question yesterday...I spent
hours sifting the web for an answer. I had Page.SetFocus(MyControl)
instead of ScriptManager.SetFocus (myControl).
Code Snippet:
Protected Sub txtCustomer_TextChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles txtCustomer.TextChanged
'customer text box (1st text box on screen)
If rfvCustomer.IsValid = True Then
Session("ProjName") = txtCustomer.Text
Else
Session("ProjName") = Nothing
End If
Session("QRNextControl") = "2"
SetNextQRControl()
End Sub
Protected Sub SetNextQRControl()
Select Case Session("QRNextControl")
Case "2"
ScriptManager1.SetFocus(txtProjAddr1) 'address 1 text
box
Case "3"
ScriptManager1.SetFocus(txtProjAddr2) 'address 2 text
box
Case "4"
ScriptManager1.SetFocus(txtProjCity) 'city text box
Case "5"
ScriptManager1.SetFocus(ddlStAbrv) 'state text box
Case "6"
ScriptManager1.SetFocus(txtZip) 'zip text box
Case "7"
ScriptManager1.SetFocus(txtCusContact) 'customer
Contact text box
Case "8"
ScriptManager1.SetFocus(txtCusPhone) 'customer Phone
text box
Case "9"
ScriptManager1.SetFocus(txtProjName) 'project Name
text box
Case "10"
ScriptManager1.SetFocus(rblPriceAdj) 'price
Adjustment text box
End Select
Session("QRNextControl") = ""
End Sub

It works great. One small glitch though.
Lets say there are 3 text boxes. If you type some data in the 1st
text box and then instead of pressing the tab key you click your mouse
in the 3rd text box, after the postback the cursor is sitting in the
2nd text box. Not the 3rd one.

Jun 27 '08 #6
Mel
On Apr 17, 3:35 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
You can handle client side onfocus event to set a hidden text control to the
id of the element that got focus. On server side, you can set focus based on
the passed id as opposed to the session variable.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net

"Mel" <MLights...@gmail.comwrote in message

news:84**********************************@m1g2000p re.googlegroups.com...
On Apr 16, 8:45 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
I wish I would have posted my question yesterday...I spent hours sifting
the web for an answer.
This is the only way of getting experience known to me.
--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net
"Mel" <MLights...@gmail.comwrote in message
>news:8c**********************************@y21g200 0hsf.googlegroups.com...
On Apr 16, 8:12 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
Use ScriptManager.SetFocus (myControl).
--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net
"Mel" <MLights...@gmail.comwrote in message
>news:45**********************************@m36g200 0hse.googlegroups.com...
I have several text boxes and drop-down lists in an AJAX Update
Panel. All user inputs have the Postback property set to True.
After
I type something in the first input entry and press the "Tab" key
how
can I set the focus to the next box after the postback? Please
help!
Using Visual Studio 2005 Pro, Asp.net 2.0, vb.net, WinXP
THANK YOU! I wish I would have posted my question yesterday...I spent
hours sifting the web for an answer. I had Page.SetFocus(MyControl)
instead of ScriptManager.SetFocus (myControl).
Code Snippet:
Protected Sub txtCustomer_TextChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles txtCustomer.TextChanged
'customer text box (1st text box on screen)
If rfvCustomer.IsValid = True Then
Session("ProjName") = txtCustomer.Text
Else
Session("ProjName") = Nothing
End If
Session("QRNextControl") = "2"
SetNextQRControl()
End Sub
Protected Sub SetNextQRControl()
Select Case Session("QRNextControl")
Case "2"
ScriptManager1.SetFocus(txtProjAddr1) 'address 1 text
box
Case "3"
ScriptManager1.SetFocus(txtProjAddr2) 'address 2 text
box
Case "4"
ScriptManager1.SetFocus(txtProjCity) 'city text box
Case "5"
ScriptManager1.SetFocus(ddlStAbrv) 'state text box
Case "6"
ScriptManager1.SetFocus(txtZip) 'zip text box
Case "7"
ScriptManager1.SetFocus(txtCusContact) 'customer
Contact text box
Case "8"
ScriptManager1.SetFocus(txtCusPhone) 'customer Phone
text box
Case "9"
ScriptManager1.SetFocus(txtProjName) 'project Name
text box
Case "10"
ScriptManager1.SetFocus(rblPriceAdj) 'price
Adjustment text box
End Select
Session("QRNextControl") = ""
End Sub
It works great. One small glitch though.
Lets say there are 3 text boxes. If you type some data in the 1st
text box and then instead of pressing the tab key you click your mouse
in the 3rd text box, after the postback the cursor is sitting in the
2nd text box. Not the 3rd one.
Sorry to be a pain. I am using a Textbox control. Will I need to use
a different control instead to get an OnFocus method?
Jun 27 '08 #7
No, you can attach a client-side event handler like
myTextBox.Attributes["onfocus"] = "gotFocus(this)";

and in .aspx file:
<input type = "hidden" runat="server" id="inhControlWithFocus" />

and in javascript
function gotFocus(control)
{
myForm.inhControlWithFocus.value = control.Id;
}

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
"Mel" <ML********@gmail.comwrote in message
news:3a**********************************@c65g2000 hsa.googlegroups.com...
On Apr 17, 3:35 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
>You can handle client side onfocus event to set a hidden text control to
the
id of the element that got focus. On server side, you can set focus based
on
the passed id as opposed to the session variable.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net

"Mel" <MLights...@gmail.comwrote in message

news:84**********************************@m1g2000 pre.googlegroups.com...
On Apr 16, 8:45 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
I wish I would have posted my question yesterday...I spent hours
sifting
the web for an answer.
>This is the only way of getting experience known to me.
>--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net
>"Mel" <MLights...@gmail.comwrote in message
>>news:8c**********************************@y21g20 00hsf.googlegroups.com...
On Apr 16, 8:12 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
Use ScriptManager.SetFocus (myControl).
>--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net
>"Mel" <MLights...@gmail.comwrote in message
>>news:45**********************************@m36g20 00hse.googlegroups.com...
>I have several text boxes and drop-down lists in an AJAX Update
Panel. All user inputs have the Postback property set to True.
After
I type something in the first input entry and press the "Tab" key
how
can I set the focus to the next box after the postback? Please
help!
Using Visual Studio 2005 Pro, Asp.net 2.0, vb.net, WinXP
THANK YOU! I wish I would have posted my question yesterday...I
spent
hours sifting the web for an answer. I had Page.SetFocus(MyControl)
instead of ScriptManager.SetFocus (myControl).
Code Snippet:
Protected Sub txtCustomer_TextChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles txtCustomer.TextChanged
'customer text box (1st text box on screen)
If rfvCustomer.IsValid = True Then
Session("ProjName") = txtCustomer.Text
Else
Session("ProjName") = Nothing
End If
Session("QRNextControl") = "2"
SetNextQRControl()
End Sub
Protected Sub SetNextQRControl()
Select Case Session("QRNextControl")
Case "2"
ScriptManager1.SetFocus(txtProjAddr1) 'address 1 text
box
Case "3"
ScriptManager1.SetFocus(txtProjAddr2) 'address 2 text
box
Case "4"
ScriptManager1.SetFocus(txtProjCity) 'city text box
Case "5"
ScriptManager1.SetFocus(ddlStAbrv) 'state text box
Case "6"
ScriptManager1.SetFocus(txtZip) 'zip text box
Case "7"
ScriptManager1.SetFocus(txtCusContact) 'customer
Contact text box
Case "8"
ScriptManager1.SetFocus(txtCusPhone) 'customer Phone
text box
Case "9"
ScriptManager1.SetFocus(txtProjName) 'project Name
text box
Case "10"
ScriptManager1.SetFocus(rblPriceAdj) 'price
Adjustment text box
End Select
Session("QRNextControl") = ""
End Sub
It works great. One small glitch though.
Lets say there are 3 text boxes. If you type some data in the 1st
text box and then instead of pressing the tab key you click your mouse
in the 3rd text box, after the postback the cursor is sitting in the
2nd text box. Not the 3rd one.

Sorry to be a pain. I am using a Textbox control. Will I need to use
a different control instead to get an OnFocus method?

Jun 27 '08 #8
Mel
On Apr 17, 8:57 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
No, you can attach a client-side event handler like
myTextBox.Attributes["onfocus"] = "gotFocus(this)";

and in .aspx file:
<input type = "hidden" runat="server" id="inhControlWithFocus" />

and in javascript
function gotFocus(control)
{
myForm.inhControlWithFocus.value = control.Id;

}

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net

"Mel" <MLights...@gmail.comwrote in message

news:3a**********************************@c65g2000 hsa.googlegroups.com...
On Apr 17, 3:35 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
You can handle client side onfocus event to set a hidden text control to
the
id of the element that got focus. On server side, you can set focus based
on
the passed id as opposed to the session variable.
--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net
"Mel" <MLights...@gmail.comwrote in message
>news:84**********************************@m1g2000 pre.googlegroups.com...
On Apr 16, 8:45 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
I wish I would have posted my question yesterday...I spent hours
sifting
the web for an answer.
This is the only way of getting experience known to me.
--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net
"Mel" <MLights...@gmail.comwrote in message
>news:8c**********************************@y21g200 0hsf.googlegroups.com...
On Apr 16, 8:12 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
Use ScriptManager.SetFocus (myControl).
--
Eliyahu Goldin,
Software Developer
Microsoft MVP
[ASP.NET]http://msmvps.com/blogs/egoldinhttp://usableasp.net
"Mel" <MLights...@gmail.comwrote in message
>news:45**********************************@m36g200 0hse.googlegroups.com...
I have several text boxes and drop-down lists in an AJAX Update
Panel. All user inputs have the Postback property set to True.
After
I type something in the first input entry and press the "Tab" key
how
can I set the focus to the next box after the postback? Please
help!
Using Visual Studio 2005 Pro, Asp.net 2.0, vb.net, WinXP
THANK YOU! I wish I would have posted my question yesterday...I
spent
hours sifting the web for an answer. I had Page.SetFocus(MyControl)
instead of ScriptManager.SetFocus (myControl).
Code Snippet:
Protected Sub txtCustomer_TextChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles txtCustomer.TextChanged
'customer text box (1st text box on screen)
If rfvCustomer.IsValid = True Then
Session("ProjName") = txtCustomer.Text
Else
Session("ProjName") = Nothing
End If
Session("QRNextControl") = "2"
SetNextQRControl()
End Sub
Protected Sub SetNextQRControl()
Select Case Session("QRNextControl")
Case "2"
ScriptManager1.SetFocus(txtProjAddr1) 'address 1 text
box
Case "3"
ScriptManager1.SetFocus(txtProjAddr2) 'address 2 text
box
Case "4"
ScriptManager1.SetFocus(txtProjCity) 'city text box
Case "5"
ScriptManager1.SetFocus(ddlStAbrv) 'state text box
Case "6"
ScriptManager1.SetFocus(txtZip) 'zip text box
Case "7"
ScriptManager1.SetFocus(txtCusContact) 'customer
Contact text box
Case "8"
ScriptManager1.SetFocus(txtCusPhone) 'customer Phone
text box
Case "9"
ScriptManager1.SetFocus(txtProjName) 'project Name
text box
Case "10"
ScriptManager1.SetFocus(rblPriceAdj) 'price
Adjustment text box
End Select
Session("QRNextControl") = ""
End Sub
It works great. One small glitch though.
Lets say there are 3 text boxes. If you type some data in the 1st
text box and then instead of pressing the tab key you click your mouse
in the 3rd text box, after the postback the cursor is sitting in the
2nd text box. Not the 3rd one.
Sorry to be a pain. I am using a Textbox control. Will I need to use
a different control instead to get an OnFocus method?
The hidden text box always says "undefined". I am doing something
wrong.

<%@ Page Language="VB" AutoEventWireup="false"
CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Set Focus - AJAX Script Manager and Update Panel</title>
</head>
<script type="text/javascript">
function gotFocus(control)
{

document.getElementById("inhControlWithFocus").val ue=control.Id;
}
</script>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
&nbsp;
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server"
AutoPostBack="True" OnTextChanged="TextBox1_TextChanged"
TabIndex="1"></asp:TextBox><br />
<br />
<asp:TextBox ID="TextBox2" runat="server"
AutoPostBack="True" OnTextChanged="TextBox2_TextChanged"
TabIndex="2"></asp:TextBox><br />
<br />
<asp:TextBox ID="TextBox3" runat="server"
AutoPostBack="True" OnTextChanged="TextBox3_TextChanged"
TabIndex="3"></asp:TextBox><br />
<br />
<input runat="server" id="inhControlWithFocus" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
TextBox1.Attributes("onfocus") = "gotFocus(this)"
TextBox2.Attributes("onfocus") = "gotFocus(this)"
TextBox3.Attributes("onfocus") = "gotFocus(this)"
End Sub
Protected Sub SetNextQRControl()
ScriptManager1.SetFocus(inhControlWithFocus.ID)
End Sub
Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e
As System.EventArgs)
'Session("QRNextControl") = 2
SetNextQRControl()
End Sub

Protected Sub TextBox2_TextChanged(ByVal sender As Object, ByVal e
As System.EventArgs)
'Session("QRNextControl") = 3
SetNextQRControl()
End Sub

Protected Sub TextBox3_TextChanged(ByVal sender As Object, ByVal e
As System.EventArgs)
'Session("QRNextControl") = 1
SetNextQRControl()
End Sub
End Class
Jun 27 '08 #9

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Marco Liedekerken | last post: by
2 posts views Thread by Elliot M. Rodriguez | last post: by
3 posts views Thread by Dexter | last post: by
4 posts views Thread by kpg | last post: by
1 post views Thread by psual | last post: by
5 posts views Thread by Finn Stampe Mikkelsen | last post: by
2 posts views Thread by Rey | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.