2012-03-09 106 views
2

我無法從代碼後面(C#)訪問HTML下拉元素選定值。下拉列表使用java腳本填充在客戶端。無法訪問(Javascript填充)下拉選擇代碼後面的代碼

      <select id="cmbDOBMonth" class="dropDownListDOB" runat="server" onchange="calGetDate();"> 
          <option value="0">Month:</option> 
          <option value="1">Jan</option> 
          </select> 

我可以訪問cmbDOBMonth值,但無法訪問cmbDOBDate。下拉列表中下面的代碼

      <select id="cmbDOBDate" runat="server" class="dropDownListDOB"> 
          <option value="0">Date:</option> 
         </select> 
+0

你得到了什麼錯誤? – Abhidev 2012-03-09 06:09:41

+0

@Abhidev cmbDOBDate.Value始終爲0 – Navin 2012-03-09 06:16:48

回答

1

試試這個:

Page.Request.Form["cmbDOBDate"] 
+0

這工作...謝謝你。 – Navin 2012-03-09 07:53:33

0

用於獲取選定值:

<script language="javascript" type="text/javascript"> 
    function calGetDate() { 
     var e = document.getElementById("cmbDOBDate"); 
     var strUser = e.options[e.selectedIndex].value; 
    }; 
</script> 
+0

謝謝,但我的問題是我無法訪問下面的代碼(C#)中的下拉列表(cmbDOBDate - 在客戶端由javascript填充)。 cmbDOBDate.Value始終是0.但我可以檢索月份值。 – Navin 2012-03-09 06:16:27

0

使用此代碼來獲取日期下拉列表的值: 使用JavaScript如下:

<script language="javascript" type="text/javascript"> 
     function calGetDate() { 
      var e = document.getElementById("cmbDOBDate"); 
      alert(e); 
      var strUser = e.options[e.selectedIndex].value; 
      alert(strUser);   
     }; 
    </script> 

現在寫你的html下拉列表如下:

<select id="cmbDOBDate" class="dropDownListDOB" onchange="calGetDate();"> 
     <option value="0">Date:</option> 
     <option value="1">1</option> 
    </select> 

現在您還可以訪問您的日期dropdownlist。

+0

是的,你正確。我的問題是沒有獲得客戶端選定的值。我想要在服務器端檢索選定的值。這是我的javascript來填充cmbDOBDate組合框 - function popDate(date) { var cmbdt = document.getElementById(「cmbDOBDate」); cmbdt.options.length = 0; cmbdt.options [0] = new Option(「Date:」,0); (var i = 1; i <= date; i ++){ cmbdt.options [i] = new Option(i,i.toString()); } };我想要在服務器端獲得此combox的選定值。 – Navin 2012-03-09 07:15:14

0

通過下面的例子中,你可以在服務器端的標籤獲得價值或HTML組合框的文本:

<script type="text/javascript"> 
     function getHTMLSelectOptionText() { 
      var SelectOption = document.getElementById("drpdwn"); 
      var SelectedIndex = SelectOption.selectedIndex; 
      var SelectedValue = SelectOption.value; 
      var SelectedText = SelectOption.options[SelectOption.selectedIndex].text; 

      var LabelDropdownList = document.getElementById('<%=lblSelectOptionText.ClientID %>'); 
      var sValue = 'Index: ' + SelectedIndex + ' Selected Value: ' + SelectedValue + ' Selected Text: ' + SelectedText; 

      LabelDropdownList.innerHTML = sValue; 
     } 
    </script> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Label runat="server" ID="Label2">HTML Select Option</asp:Label><br /> 
     <select name="HTMLSelect" onchange="getHTMLSelectOptionText();" id="drpdwn"> 
      <option value="Asp">Free Asp.net articles/Code examples</option> 
      <option value="Sqlserver">Free Sql server articles/Code examples</option> 
      <option value="Javascript">Free Javascript articles/Code examples</option> 
      <option value="XML">Free XML articles/Code examples</option> 
      <option value="Gridview">Free Asp.net Gridview articles/Code examples</option> 
     </select> 
     <asp:Label runat="server" ID="lblSelectOptionText"></asp:Label> 
    </div> 
    </form> 
</body>