我有一個帶有單選按鈕列的表格。我設法讓無線按鈕列動態地插入到一個單元格中(如果有的話)。但是,在回發innerHtml沒有更新與「檢查」屬性。如何從插入到innerHtml中的單選按鈕獲取值
你能給我一個想法如何找出(在服務器上)如果單選按鈕已被檢查?
更多信息:這是在更新面板內的用戶控制。
This將是對我的話題好後,仍然沒有幫助
我有一個帶有單選按鈕列的表格。我設法讓無線按鈕列動態地插入到一個單元格中(如果有的話)。但是,在回發innerHtml沒有更新與「檢查」屬性。如何從插入到innerHtml中的單選按鈕獲取值
你能給我一個想法如何找出(在服務器上)如果單選按鈕已被檢查?
更多信息:這是在更新面板內的用戶控制。
This將是對我的話題好後,仍然沒有幫助
任何原因你不能使用標準的asp:RadioButton並使用javascript來確保它是互斥的。我之前通過向radiobutton添加自定義屬性,然後使用js函數取消選中具有該屬性的所有項目,然後檢查選定的項目來完成此操作。這可以解決IE問題,它可以防止groupname屬性在不同容器中的放射性盒上工作。
radioButton.InputAttributes.Add("ClientGroupName", "grpRadioList");
radioButton.InputAttributes.Add("onclick",
string.Format(
"javascript:radiobuttonToggle('{0}','ClientGroupName','grpRadioList');"
,radioButton.ClientID));
並使用下面的JS取消選中所有無線電,然後檢查你想要的。 注意我使用InputAttributes而不是Attributes,因爲單選按鈕被包裹在span標籤中,所以InputAttributes是添加到實際輸入控件而不是span的項目。
function radiobuttonToggle(selectedRB, attribName, attribValue)
{
var objRadio = document.getElementById(selectedRB);
for(i = 0; i < document.forms[0].elements.length; i++)
{
elm = document.forms[0].elements[i];
if (elm.type == 'radio')
{
if(elm.getAttribute(attribName) == attribValue)
elm.checked = false;
}
}
objRadio.checked = true;
}
然後,您可以將radioButton.Checked作爲CS文件中的屬性公開,並將其重新用作控件。
檢查Form.Request("radio-name") != null
當它被選中你只有一個非空值。
不起作用:( – 2009-11-23 16:39:17
奧列格,「無線電廣播名稱」需要用您的複選框的「名稱」屬性的值(而不是id屬性)代替 – gn22 2009-11-23 17:08:59
Request.Form [rbtnReplaced.ClientID]或Request [ rbtnReplaced.ClientID]? 兩者都是空的 – 2009-11-23 17:46:27
確保您的頁面元素在回發時正確重建。任何第一次插入單選按鈕的綁定過程將不得不重新運行,然後才能第二次訪問它們。
我可以看到innerHtml,但它看起來完全如我插入它。 – 2009-11-23 17:00:49
這裏是工作的例子,首先我用的方法you linked添加電臺到我的網頁表格:
function addRadio()
{
try{
rdo = document.createElement('<input type="radio" name="fldID" />');
}catch(err){
rdo = document.createElement('input');
}
rdo.setAttribute('type','radio');
rdo.setAttribute('name','fldID');
document.getElementById('container').appendChild(rdo);
}
然後在後面的代碼我用下面只代碼即可獲得電臺的價值:
string value = Request["fldID"];
因此,請確保您試圖獲取服務器端單選按鈕的名稱。您應該在服務器端使用name屬性,而不是id。
保護無效Page_Init(對象發件人,EventArgs e) { div。InnerHtml =「」; } protected void Button1_Click(object sender,EventArgs e) Console.WriteLine(Request [「gnReplace」]); } 與值「開」困惑,不管選擇返回值。如果名稱是RadioGroup,我應該得到什麼樣的價值? – 2009-11-24 11:48:19
在客戶端還是在服務器上? – Josh 2009-11-23 16:22:07
我假設服務器,因爲「回發」被提及 – gn22 2009-11-23 16:26:28
後部分代碼。 – Saar 2009-11-23 16:42:32