在事件上调用多个javascript函数

时间:2009-11-24 12:39:16

标签: javascript ajaxcontroltoolkit tabcontainer

我正在使用ajaxcontroltoolkit并尝试在标签更改事件上调用几个函数。

我想从我的OnClientActiveTabChanged函数中调用多个js函数,但不断收到错误

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&DbConnTag=TSDBConnection

更新,我刚刚注意到即使对于基本警报声明也会发生这种情况。

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

提供问题的行:

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

4 个答案:

答案 0 :(得分:3)

Blind shot:尝试将其包装在匿名函数中,例如:

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

编辑:我解决了问题,gs是最完整的。

答案 1 :(得分:0)

尝试使用:

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

OnClientActiveTabChanged="callMultiple"

答案 2 :(得分:0)

这是你的问题:

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

我想你想要的是activeTabChanged是一个函数,但是alert("something")不会返回函数,而是什么都没有。

分号在字典中是语法错误的。您想要将功能分配给activeTabChanged

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

您不需要使用匿名函数。你也可以使用常规的。

function on_activeTabChanged() {
     // do something
}

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

答案 3 :(得分:0)

将它们放在引号中

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