2009-11-24 4 views
1

J'utilise l'ajaxcontroltoolkit et j'essaie d'appeler quelques fonctions sur un événement de changement d'onglet.Appel de plusieurs fonctions javascript sur l'événement

Je veux appeler plus d'une fonction js de ma fonction OnClientActiveTabChanged mais continuer à obtenir que je viens de remarquer l'erreur

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 

mise à jour, cela se produit même pour les déclarations d'alerte de base ..

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

ligne donnant le problème:

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

Répondre

3

tir aveugle: essayer de l'envelopper i n une fonction anonyme, comme:

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

EDIT: le mien résout est le plus complet du problème, gs.

+1

+1 - je pense serait sur ce travail –

0

Essayez d'utiliser ceci:

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

OnClientActiveTabChanged="callMultiple" 
0

Voici votre problème:

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

Je suppose que ce que vous voulez que activeTabChanged est une fonction, mais alert("something") ne retourne pas une fonction mais rien.

Les points-virgules sont syntaxiquement erronés dans un dictionnaire. Vous voulez assigner une fonction à activeTabChanged:

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

Vous n'avez pas besoin d'utiliser des fonctions anonymes. Vous pouvez également utiliser ceux réguliers.

function on_activeTabChanged() { 
    // do something 
} 

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

Mettez-les guillemets

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