Focus in UpdatePanel

<asp:TextBox ID="txtValore" runat="server" onfocus='setTextBoxFocused(this.id);SetEndCursor(this)'
 
AutoPostBack="true" OnTextChanged="txtValore_TextChanged"></asp:TextBox>
 
function setTextBoxFocused(clientId)
{
  $.get("SetFocused.aspx?clientId=" + clientId + "&ts=" + new Date().getTime());
}
 
 
function SetEndCursor(textBox) 
{ 
  if (textBox.createTextRange)
  {
    var fieldRange = textBox.createTextRange(); 
    fieldRange.moveStart('character', textBox.value.length); 
    fieldRange.select(); 
  } 
} 
 
CodeBehind nel controllo con UpdatePanel:
if (Session["TextBoxFocused"] != null)
{
  ScriptManager.GetCurrent(this.Page).SetFocus(Convert.ToString(Session["TextBoxFocused"]));
}
La pagina richiamata da JSON: SetFocused.aspx
protected override void OnLoad(EventArgs e)
{
  base.OnLoad(e);
  if (Page.IsPostBack)
    return;
  Session["TextBoxFocused"] = Request.QueryString["clientId"];
}
Grazie a Gae.
Technorati tags:

Print | posted @ mercoledì 11 marzo 2009 21:14

Comments have been closed on this topic.