2013-01-24 32 views
0

工作的Visual Studio 2010:Asp.Net 4.0JaveScript get_postBackElements()細胞不能在Firefox

我試圖讓第一小區的GridView的與以下JavaScript函數回發的細胞採集[0]。它適用於IE8和IE9,但不適用於Firefox或Safari。任何人有想法?


function onBeginRequest(sender, args) { 
var send = args.get_postBackElement().id; 

if (args.get_postBackElement().cells != null) { 
    var menu = args.get_postBackElement().cells[0].innerHTML; 
    if (menu.indexOf("vehicles") != -1) { 
     send = "ProjectClick"; 
    } 
} 

if (displayWait(send) == "yes") { 
    $find('PleaseWaitPopup').show(); 
} 

}

回答

0

使用的getElementById方法,並得到控制標記名或驗證標識。我檢查了tagName。

function pageLoad(sender, args) { 
    var sm = Sys.WebForms.PageRequestManager.getInstance(); 
    if (!sm.get_isInAsyncPostBack()) { 
     sm.add_beginRequest(onBeginRequest); 
     sm.add_endRequest(onRequestDone); 
    } 
} 

function onBeginRequest(sender, args) { 
    var send = args.get_postBackElement().id; 
    var gv = document.getElementById(send); 

    if (gv != null && gv.tagName == "TABLE") { 
     var menu = gv.rows[0].cells[0].innerHTML; 
     if (menu.indexOf("vehicle") != -1) { 
      send = "ProjectClick"; 
     } 
    } 

    if (displayWait(send) == "yes") { 
     $find('PleaseWaitPopup').show(); 
    } 
} 

function onRequestDone() { 
    $find('PleaseWaitPopup').hide(); 
} 

function displayWait(send) { 
    switch (send) { 
     case "ProjectClick": 
      return ("yes"); 
      break; 
     default: 
      return ("no"); 
      break; 
}