2009-07-24 30 views
0

我有3個文本框在輸入的日期進行檢查。我原來的代碼是用於一個文本框。有沒有辦法通過一個ID名稱onChange事件我可以在文本框的onChange事件中傳遞ID名稱嗎?

<asp:TextBox ID="txtDate" runat="server" Width="110px" onChange="checkEnteredDate('txtDate')"></asp:TextBox> 

function checkEnteredDate(var textBox = new String();) { 
      var inputDate = document.getElementById(textBox); 
      //if statement to check for valid date 
      var formatDate = new Date(inputDate.value); 
      if (formatDate > TodayDate) { 
       alert("You cannot select a date later than today."); 
       inputDate.value = TodayDate.format("MM/dd/yyyy"); 
      } 
} 

回答

0

其實我想通了。我做了以下幾點:

...onChange="checkEnteredDate(this)"... 

function checkEnteredDate(inputDate) {    
      //if statement to check for valid date 
      var formatDate = new Date(inputDate.value); 
      if (formatDate > TodayDate) { 
       alert("You cannot select a date later than today."); 
       inputDate.value = TodayDate.format("MM/dd/yyyy"); 
      } 
} 

getElement搞砸了我。感謝這些建議,他們給我帶來了正確的方向。

2

爲了通過文本框的編號,你就必須做到這一點在後面的代碼的Page_Load中:

txtDate.Attributes["onchange"] = String.Format("checkEnteredDate('{0}');",txtDate.ClientID); 
2

你可以通過這個作爲對的onChange分配參數:

<asp:TextBox ID="txtDate" runat="server" Width="110px" 
onChange="checkEnteredDate(this.id)"></asp:TextBox> 
相關問題