2009-07-24 3 views
0

입력 한 날짜를 확인하는 3 개의 입력란이 있습니다. 원래 가지고 있던 코드는 하나의 텍스트 상자에 대한 것입니다. 뒤에를 Page_Load의 코드에서이 작업을 수행해야합니다 텍스트 상자의 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

에 ID 이름을 전달하는 방법이 있나요 :

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> 
관련 문제