2011-03-29 67 views
1

任何人都可以描述如何找到一個控制ASP內DetailsView使用JavaScript? 我的要求是在按鈕的客戶端上顯示一個確認框,點擊該複選框被選中或不被選中。如何通過javasscript獲取ASP DetailsView中的控件?


這裏是沒有DetailsView-

<script type="text/javascript" language="javascript"> 
function confirmation() { 
    var chkbx = document.getElementById("chkbox4PubnOrder"); 

    if (chkbx.checked == false) { 
     var answer = confirm('Are you sure to add a feature which be published'); 
     if (answer) { 
      return true; 
     } 
     else { 
      return false; 
     } 
    } 
    else { 
     return true; 
    } 
} 
</script> 

其中chkbox4PubnOrder是一個asp的複選框使用的代碼。在詳細信息視圖時,上面的代碼是無法找到的複選框
我火ASP的按鈕 - 此事件的OnClientClick

OnClientClick="if(!confirmation()) return false;" 

請幫助...

回答

0

<%= chkbox4PubnOrder.ClientID %>也無法正常工作,因爲控制在ASP DetailView內。我嘗試了與在GridView或DataGrid中搜索控件相同的方式。那也沒有運氣。

我試圖得到控制,如下

<script type="text/javascript" language="javascript"> 
function confirmation() { 

    // first finding asp detailsview 
    var detailsview = document.getElementById('<%= DetailsView1.ClientID %>'); 
    //then finding control inside the detailsview 
    var chekbx = detailsview.getElementByTagName("chkbox4PubnOrder"); 

    if (chkbx.checked == false) { 
     return confirm('Are you sure to add a feature which be published'); 
    } 
    else { 
     return true; 
    } 
} 
</script> 

這段代碼並不顯示chkbx作爲null即此發現的複選框內的DetailsView但找不到檢查與否。是否需要類型轉換?如果是,那麼請描述如何?

0

ASP.Net生成它自己的ID用於服務器端控件。

您可以編寫<%= chkbox4PubnOrder.ClientID %>以獲取此生成的ID。

0

或者您可以隨時在瀏覽器中查看頁面源並查看它爲控件提供的ID。它通常是建立在頁面名稱和任何額外的「圖層」,你可能已經放在如用戶控件等

相關問題