2013-08-29 78 views
3

我一直試圖找出這個好幾個小時,但現在運氣。希望你能幫助我。這裏是我的腳本:ASP.NET使用JavaScript選擇RadioButtonList值

function confirmPurge() { 
     var d = confirm("You are about to purge all records, click Ok to proceed"); 
     if (d) { 
      var c = document.getElementByName("yes"); 
      c.checked = true; 
     } 
     else { 
      var c = document.getElementByName("no"); 
      c.checked = true; 
     } 

和HTML是這樣的:

<asp:RadioButtonList ID="rblPurgeRecords" runat="server" 
        RepeatDirection="Horizontal"> 
        <asp:ListItem onclick="confirmPurge();" name="yes">Yes</asp:ListItem> 
        <asp:ListItem Selected="True" name="no">No</asp:ListItem> 
       </asp:RadioButtonList> 

當我嘗試運行它,我得到一個彈出問我點擊確定或取消。如果我單擊確定我的代碼中斷,我得到此錯誤:「Microsoft JScript運行時錯誤:'ScriptManager'未定義」

想知道爲什麼這不起作用?還是有更好的方法來編程設置選擇了收音機列表中的哪個按鈕。

+0

我想說你混合的東西'ScriptManager.RegisterClientScriptBlock'是服務器端代碼。你想做什麼? –

+0

我想如果用戶點擊確定,設置單選按鈕列表選擇值是。如果他們點擊取消它是否定的。我是從這篇文章下面的示例:http://forums.asp.net/t/1489039.aspx/1 – Bojan

+0

我已更新到代碼,以顯示我嘗試過的新示例,雖然相同的結果。它表示該對象不存在或爲空。 – Bojan

回答

2

我也面臨同樣的問題,但幸運的是找到了一個解決方案。代碼相同的是低於

function test() { 
var rad = document.getElementById('<%=rblPurgeRecordse.ClientID %>'); 
var radio = rad.getElementsByTagName("input"); 
for (var i=0;i<radio.length;i++){ 
     if (radio[i].checked) 
     { 
      //your Code goes here.... 
      alert("SelectedValue = " + radio[i].value); 
     } 
    } 
} 
0

您想獲取實際單選按鈕的值而不是列表項。請記住,在.NET控件中分配的radiubotton的ID不是渲染頁面上的實際ID,因此您需要使用ClientID。

var radios = document.getElementsByName('<% rblPurgeRecords.ClientID %>'); 

for (var i = 0, length = radios.length; i < length; i++) { 
    if (radios[i].checked) { 
     // do whatever you want with the checked radio 
     // the value of the radio button is : radios[i].value); 

     break; 
    } 
} 
+0

當我嘗試添加代碼的第一行時,我的IDE抱怨並且不會讓我運行該頁面,總共有7個錯誤,並且這是第一個錯誤:錯誤無效的表達式術語'。' \t c:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ meterreadgenerator \ 738a4d39 \ 194cec92 \ App_Web_0m1pm0od.0.cs 17 ----我在網上發現了類似的解決方案,但他們總是有這個錯誤,無法超越你發佈的第一行代碼。 – Bojan

+0

此代碼不起作用,因爲'radios.length'總是'= 1'。 「rbl」正被翻譯成表格 –

相關問題