繁体   English   中英

jQuery / JavaScript日期表单验证

[英]jQuery/JavaScript Date form validation

我在表单中使用jQuery日期选择器日历。 提交后,表单会将参数通过url传递到第三方站点。 一切正常,除了一件事。 如果随后删除了由日期选择器日历插入日期字段的值,或者如果删除了默认日期(即页面加载表单中的默认日期)并提交了表单,则会出现以下错误:

“从字符串“”转换为“日期”类型无效。”

解决我的问题的方法非常简单,我想验证提交日期的文本字段,如果由于某种原因该字段为空,则发送默认日期(当前日期)。 问题是我在Java语言方面很糟糕,无法弄清楚该怎么做。

这是我的日期字段的表单代码。

[var('default_date' = date)]
<input type="text" id="datepicker" name="txtdate" value="[$default_date]" onfocus="if (this.value == '[$default_date]') this.value = '';" onchange="form.BeginDate.value = this.value; form.EndDate.value = this.value;" />
            <input type="hidden" name="BeginDate" value="[$default_date]"/>
            <input type="hidden" name="EndDate" value="[$default_date]"/>

这真的很老,可能已经解决了,但是到底。

最简单的方法是在输入的onchange事件中添加更多的javascript。

onchange="if( this.value.length > 0 ) { form.BeginDate.value = form.EndDate.value = this.value; } else { form.BeginDate.value = form.EndDate.value = '[$default_date]'; } " />

当然,它们仍然是与日期验证相关的各种其他问题,但这是检查空值并根据当前代码结构返回默认值的直接方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM