我有两个用户填写的字段,一个是开始日期,另一个是结束日期。
如果结束日期小于开始日期,我想提醒用户。
值将采用以下格式:YYYYMMDD(20101209)
所以我需要这个以在填写两个字段后向用户发出警报(如果开始日期大于结束日期),因此在两个字段都填写之前它不会提醒他们。
另外,这两个字段都是隐藏字段,因为我使用的是jQuery的datepicker的altFormat,altField。
隐藏字段的ID和名称是:begin_date,end_date
在填写两个字段后,还需要帮助触发该功能。
答案 0 :(得分:1)
function compareDates(d1, d2) {
var date1 = new Date(d1);
var date2 = new Date(d2);
if(date1.getTime() > date2.getTime()) {
alert("Start Date is greater than End Date");
}
}
可能有一个较短的方式,我不是JS专家。
答案 1 :(得分:0)
制作KeyValuePair类。伪代码如下:
class Datepair
{
private int m_begindate;
private int m_enddate;
public Datepair(int begin, int end)
{
if (begin > end)
{
throw new Exception("Your startdate is later than your enddate")
}
else
{
m_enddate = end;
m_begindate = begin;
}
}
}
两个字段都包含一些内容后,两个字段都调用相同的更新方法并写入Datepair。
public void OnFieldUpdate(){
if (Field1.hasentrie && Field2.hasentrie)
{
try
{
myDatepair = new Datepair(Field1.Value, Field2.Value);
}
catch (Exception e)
{
MessageBox.show(e.Message);
}
}
}
我知道这看起来很像C# - 但是类似的东西可能会起作用