我已在文本框中应用了ajax日历,并对其选择应用了以下检查
function checkDate(sender, args) {
if (sender._selectedDate > new Date()) {
alert("You cannot select a day future than today!");
sender._selectedDate = new Date();
// set the date back to the current date
sender._textbox.set_Value(sender._selectedDate.format(sender._format))
}
}
我的HTML代码是:
<asp:TextBox ID="txtDOB" Width="140px" MaxLength="50" runat="server"></asp:TextBox>
<ajaxctrl:calendarextender onclientdateselectionchanged="checkDate" id="cale_txtDOB"
runat="server" targetcontrolid="txtDOB" format="MM/dd/yyyy" cssclass="cal_Theme1">
</ajaxctrl:calendarextender>
它工作正常,但如果我手动输入日期然后这不起作用,我怎么能让两种方式都适合我。
表示如果用户手动输入,则还会检查日期,当用户从日历中选择日期时,它也会验证日期。
答案 0 :(得分:1)
这是你修改过的javascript函数:
function checkDate(sender, args) {
//alert(sender._selectedDate > new Date());
if (sender._selectedDate > new Date()) {
alert("You cannot select a day future than today!");
sender._selectedDate = new Date();
// set the date back to the current date
sender._textbox.set_Value(sender._selectedDate.format(sender._format))
return false;
}
}
这是一个新的javascript函数,只需将其添加到您的函数下面:
function checkDate1(txt) {
if (new Date(txt.value) > new Date()) {
alert("You cannot select a day future than today!");
return false;
}
}
现在转到页面的Page_Load事件,并添加以下代码行:
this.txt.Attributes.Add("onblur", "checkDate1(this);");
您可以更改这些函数名称,因为我刚刚为您写了这篇文章。没有太多时间来测试它。如果您有任何疑问,请与我联系。
答案 1 :(得分:0)
您是否尝试过jQuery Change方法?
$('#textBoxName').change( function() {
if ($(this).val() > new Date()) {
alert("You cannot select a day future than today!");
var today=new Date();
$('#textBoxName').val(today);
}
});