2009-11-24 4 views
1

Я использую ajaxcontroltoolkit и пытаюсь вызвать несколько функций на событии с измененной вкладкой.Вызов нескольких функций javascript для события

Я хочу, чтобы вызвать функцию более чем один Js из моей OnClientActiveTabChanged функции, но получаю ошибку

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 

Update, я только что заметил, это происходит даже для основных положений предупреждения ..

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

Line дает проблему:

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

ответ

3

Слепой выстрел: попытаться обернуть это я п анонимная функция, как:

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

EDIT: шахта решает проблему, gs «s является наиболее полным.

+1

+1 - мое предположение было бы на этой работе –

0

Попробуйте использовать это:

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

OnClientActiveTabChanged="callMultiple" 
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}); 
0

Поместите их в кавычках

"activeTabChanged":"alert('testone');alert('testtwo')"; 
Смежные вопросы