Solved

Add javascript event handler to a web control - in 1.1.

Posted on 2006-10-23
3
249 Views
Last Modified: 2008-03-10
I'm attempting to implement a set of javascript functions that produce type ahead functionality for a .net dropdown list box as found at:
http://aspalliance.com/articleViewer.aspx?aId=775&pId=-1

Alas, that solution assumes .net 2.0 where the code-behind rests on using the block below. I _think this is doing nothing more complicated  than assigning a javascript function to an event on the rendered web control...can that be achieved in the 1.1 framework?

{
  Type typ = GetType();
  if (!Page.ClientScript.IsClientScriptIncludeRegistered(typ, js))
  Page.ClientScript.RegisterClientScriptInclude(typ, js, js);
  ddlTest.Attributes.Add("onKeyDown", "TADD_OnKeyDown(this);");
}

thx
--steve...
0
Comment
Question by:juststeve
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 6

Accepted Solution

by:
Roopesh_7 earned 350 total points
ID: 17792807
yes we can achive thi also in 1.1 its nothing but only binding that web control with javascript
0
 

Author Comment

by:juststeve
ID: 17794453
Thankx...I've been able to get basic functionality working by using:

        Dim scriptString As String
        scriptString = "<script language=JavaScript>"
        scriptString = scriptString & "TADD_OnKeyDown(this);"
        scriptString = scriptString & "</script>"

        If (Not IsStartupScriptRegistered("ddFindUser")) Then
            RegisterStartupScript("ddFindUser", scriptString.ToString)
        End If

        ddFindUser.Attributes.Add("onKeyDown", "TADD_OnKeyDown(this);")

Where I'm populating a dropdown thusly:
        ddFindUser.DataSource = ds.Tables(0).DefaultView
        ddFindUser.DataTextField = "strUName"
        ddFindUser.DataValueField = "UserIdentity"
        ddFindUser.Items.Insert(0, "All")
        ddFindUser.DataBind()

That produces this line in the rendered control:
<select name="ddFindUser" id="ddFindUser" onKeyDown="TADD_OnKeyDown(this);">
(Since I don't have any 2.0 projects setup i can't run a test against the original code to see how _it renders the HTML control, but this certainly _looks like it should look....

And the type ahead functionality _does, in fact, work. However...after IE has loaded the page it reports a javascript error occurred at this point in one of the js functions that, to all outward appearances, is working correctly:

function TADD_OnKeyDown(tb)
{
  if (event.ctrlKey) //this line reports error: 'Object required'
  return;
 
NOTE: the error is reported via the status bar page load indicator...not a popup dialog explicitly presented to the user.


0
 

Author Comment

by:juststeve
ID: 17794776
it appears that the only thing I need to do is:
        ddFindUser.Attributes.Add("onKeyDown", "TADD_OnKeyDown(this);")


The RegisterStartupScript block is not needed. It appears that block had been adding an addtional line at the page level causeing the error.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Sometimes in DotNetNuke module development you want to swap controls within the same module definition.  In doing this DNN (somewhat annoyingly) swaps the Skin and Container definitions to the default admin selections.  To get around this you need t…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question