我正在使用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")
);
});
答案 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')";