0

GridView에는이 GridView에 asp : CalendarExtender를 사용하여 날짜를 선택하는 데 사용하는 열이 있습니다. 동적으로 생성 된 GridView의 행이 여러 개 있습니다. 이미지 버튼을 클릭하면 캘린더가 나오고 날짜를 선택합니다.asp.net에서 이미지 버튼 onlclick을 비활성화하는 방법은 무엇입니까?

일부 행에서는 사용자가 해당 행의 이미지 단추를 클릭 할 때 날짜를 선택하기를 원합니다. 언젠가 그 사람이 데이트를 선택하는 것을 원하지 않습니다. 날짜를 변경하거나 이미지 단추를 클릭하려고하면 날짜를 변경할 수 없다는 경고 메시지가 나타납니다. 클라이언트 쪽에서 처리하고 싶습니다. 그러니이 방법을 제안 해주세요. 이것은 aspx 코드입니다.

<asp:TextBox runat="server" ID="StartDateTime" CssClass="search_area_text_vm_small" onclick = "javascript:DateClick(this.id);"></asp:TextBox> 
         <asp:Image ID="Image1" runat="server" ImageUrl="~/images/image3.jpg" /> 
      <asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="StartDateTime" PopupButtonID="Image1" Format="yyyy-MM-dd" ></asp:CalendarExtender> 
         <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="StartDateTime" 
          ErrorMessage="*" SetFocusOnError="True"></asp:RequiredFieldValidator> 

답변

-1

당신은 CalendarExtender의 OnClientDateSelectionChanged 이벤트를 사용할 수있다. 코드 아래

사용 :

<asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="StartDateTime" PopupButtonID="Image1" Format="yyyy-MM-dd" OnClientDateSelectionChanged="checkIfDateSelected()" > 
</asp:CalendarExtender> 

<javascript> 
function checkIfDateSelected(){ 
var dateTextBox=document.getElementByid('StartDateTime'); 
if(dateTextBox!='') 
{ 
alert ('Date once selected cannot be changed'); 
return false; 
} 
</javascript> 

이는 정보가 팝업 및 날짜가 이미 선택되어있는 경우 양식 제출을 방지 표시됩니다.

+0

왜 클라이언트 측 스크립트를 처리해야하는 경우 ImageButton을 사용해야합니까? – rocky

+0

Button 컨트롤의 Click 이벤트가 발생했을 때 실행되는 추가 클라이언트 측 스크립트를 지정하기 위해 OnClientClick 속성과 함께 제공되는 asp 버튼이나 ImageButton 일 수 있지만 asp Image는 실행되지 않습니다. (미안해, CalendarExtender를 알아 채지 못해서 내 대답을 편집했다) – user3240361

관련 문제