如何禁用asp.net中的图像按钮onlclick?

时间:2014-02-20 10:50:41

标签: javascript asp.net gridview ajaxcontroltoolkit calendarextender

我在这个GridView中有一个GridView,我用一个列来选择日期,使用asp:CalendarExtender。我在GridView中有多行是动态生成的。 当我点击图像按钮时,弹出窗口并选择我的日期。

在某些行中,我希望用户在单击该行的图像按钮时选择日期。有时候我不想让他选择日期。 当他尝试更改日期或单击图像按钮时,他应该收到警告消息,说明您不能更改日期。 我想从客户端处理它。所以请建议我如何做到这一点。 这是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 个答案:

答案 0 :(得分:-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>

如果已经选择了日期,这将显示信息弹出并阻止表单提交。