我正在使用日历控件在经典 ASP 应用程序中输入日期。但是日历控件对键盘不友好,需要更多时间来输入数据。所以后来我添加了一个带有日期验证的简单文本框。它工作正常。但是,用户还需要放置日期分隔符。我希望放置一个带有预配置日期格式和分隔符的日期输入字段,以便用户只需键入数字,该字段也会导致验证。
我怎样才能做到这一点?
我正在使用日历控件在经典 ASP 应用程序中输入日期。但是日历控件对键盘不友好,需要更多时间来输入数据。所以后来我添加了一个带有日期验证的简单文本框。它工作正常。但是,用户还需要放置日期分隔符。我希望放置一个带有预配置日期格式和分隔符的日期输入字段,以便用户只需键入数字,该字段也会导致验证。
我怎样才能做到这一点?
只需使用 jQuery/javascript 来屏蔽日期文本字段。当用户输入值时,它将自动格式化日期。还强制正确验证,因为它工作。
例如 jQuery 插件搜索:
jquery 日期掩码:http ://digitalbush.com/projects/masked-input-plugin/
您始终可以将三个带有分隔符的文本框作为文本(就像我在旧的 ASP 经典站点中所做的那样)
您需要在回复中分隔日期,然后DateSerial
在发布时使用。
当我们在过去创建类似的东西时,我们允许用户以几种不同的方式在文本框中输入日期:
提交表单时,我们有一个简单的 ASP 函数将 DDMMYYYY 转换为 DD/MM/YYYY(日期字符串必须是 8 个字符,因为假设 DD 是 2 位,插入分隔符,MM 是 2 等)并检查这是一个有效的日期,也是一个if formdate = 0 then formdate=now()
规则。
不过,您还需要在表单上添加一些 JavaScript 验证。在文本框上添加一个 onblur 事件来检查相同的事情 - 输入 8 位数字,或有效日期,或 0 - 否则会提醒用户。(如果我们今天重做,我会在 jQuery 中执行此操作)
如果您愿意,您可以使用 Javascript“验证”来加快数据输入,例如,如果输入的很多日期是昨天或明天允许 -1 或 +1,或者数据输入始终适用于当前月份但不同的一天,允许用户只输入一个数字 - 15,Javascript/jQuery 将字符串转换为 2011 年 3 月 15 日。
使用 HTML 5...textMode="日期"
<asp:TextBox ID="TextBoxDate"
runat="server"
CssClass="form-control" Width="561px"
TextMode="Date">
</asp:TextBox>