2010-08-03 79 views
1

我有月份下拉和保存按鈕,我想禁用保存按鈕,如果從月份的值下拉選擇爲上個月在asp.net網頁如何禁用保存按鈕

+4

爲什麼不能阻止顯示前幾個月的下拉菜單呢? – 2010-08-03 07:00:27

回答

1

你應該爲此使用JavaScript。 在你的下拉菜單的onchange =「checkdate()」上使用這個功能 你也可以從代碼隱藏文件中設置它。 寫在你的頁面的Page_Load功能...

ddlMonths.Attributes.Add("onchange", "checkdate()"); 

假設ddlMonths是你的下拉菜單標識

function checkdate()// to check Month 
{ 
    var ddlMonths = document.getElementById('<%=ddlMonths.ClientID %>'); 
    var btnSave =document.getElementById('<%=btnSave.ClientID %>'); 
    var lCurrentMonth = (new Date()).getMonth(); 

    if(ddlMonths.options[ddlMonths.selectedIndex].value < lCurrentMonth) 
      btnSave.disabled= true; 
    else 
     btnSave.disabled= false; 
} 

會給你1小於從零開始月數假設你給的值從0到11的列表中你的MOnths,或者你可以相應地設置它,如果你從1-12開始,你可以加1到幾個月。

1

如果是隻有一個選項的常規下拉選擇,onchange- function可以是sh ortend

function checkDate() { 
    var doc = document; 

    var btn = doc.getElementById('<%=btnSave.ClientID %>'); 
    var slc = doc.getElementById('<%=ddlMonths.ClientID %>'); 

    btn.disabled = (slc.selectedIndex < (new Date()).getMonth()); 
}