开发者

Calling multiple javascript functions on event

I'm using the ajaxcontroltoolkit and trying to call a couple of functions on a tab changed event.

I want to call more than one js function from my OnClientActiveTabChanged function but keep getting the error

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR      1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET     CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Timestamp: Tue, 24 Nov 2009 12:31:43 UTC


Message: Expected '}'
Line: 202
Char: 181
Code: 0
URI: http://localhost/.../.../....aspx?ID=1000&propertyFrameWidth=1234&propertyFrameHeight=603&userId=9&employeeId=526&CCId=2&DbCo开发者_Go百科nnTag=TSDBConnection

Update, I've just noticed this happens even for basic alert statements..

OnClientActiveTabChanged="alert('testone');alert('testtwo');"

Line giving the problem:

Sys.Application.add_init(
function() 
{
    $create(AjaxControlToolkit.TabContainer, 
            {
             "activeTabIndex":0, 
             "clientStateField":$get("ctrlJobPropertiesView_tbcTabContainer_ClientState")
            },
            {
             "activeTabChanged":alert('testone');alert('testtwo');
            },
            null, 
            $get("ctrlJobPropertiesView_tbcTabContainer")
        );
});


Blind shot: try to wrap it in an anonymous function, like:

"activeTabChanged":function() { alert('testone');alert('testtwo'); }

EDIT: mine solves the problem, gs's is the most complete.


Here's your problem:

{"activeTabChanged":alert('testone');alert('testtwo');}

I guess what you want is that activeTabChanged is a function, but alert("something") doesn't return a function but nothing.

The semicolons is syntactically wrong in a dictionary. You want to assign a function to activeTabChanged:

"activeTabChanged":function() { alert("testone"); alert("testtwo"); }

You don't need to use anonymous functions. You can also use regular ones.

function on_activeTabChanged() {
     // do something
}

// much later in the code
$create(AjaxControlToolkit.TabContainer,
        {"activeTabChanged":on_activeTabChanged});


Put them in quotes

"activeTabChanged":"alert('testone');alert('testtwo')";


Try using this:

function callMultiple() {
   func1();
   func2();
   func3();
}

OnClientActiveTabChanged="callMultiple"
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜