我有两个输入字段,通过它我可以选择日期和时间。现在我想要显示startdate应该总是小于enddate。如果不是,则应显示错误消息,显示“enddate必须更大” 。输入字段的代码是
<input id="startdate" type="text" size="25" name="startdate"
onclick="javascript:NewCal('startdate','ddmmmyyyy',true,24)" >
<a>
<img src="images/cal.gif" width="10" height="10" border="0" alt="Pick a date">
</a>
<input id="enddate" type="text" size="25" name="enddate" onclick="javascript:NewCal('enddate','ddmmmyyyy',true,24)" >
<a>
<img src="images/cal.gif" width="10" height="10" border="0" alt="Pick a date">
</a>
<c:if test="${enddate < startdate}">
<c:out value="Endate date should be greater than start date"></c:out> </c:if>
<input type="submit" value="Submit"><br>
</form>
我已尝试使用jstl的标签,但它不起作用。如果我选择enddate小于startdate,则不会显示错误消息。 我做错了什么。我不能在JSTL的标签中使用输入字段的ID吗?
修改-1 填写表格后的屏幕排序
点击文字字段时会出现日历。
答案 0 :(得分:0)
您可以尝试这样: -
修改此行:
<form onsubmit="date_comapare()">
<input id="startdate" type="text" size="25" name="startdate" onclick="javascript:NewCal('startdate','ddmmmyyyy',true,24)" >
<a><img src="images/cal.gif" width="10" height="10" border="0" alt="Pick a date"></a>
<input id="enddate" type="text" size="25" name="enddate" onclick="javascript:NewCal('enddate','ddmmmyyyy',true,24)" >
<a><img src="images/cal.gif" width="10" height="10" border="0" alt="Pick a date"></a>
<input type="submit" value="Submit"><br>
</form>
你可以像这样格式化你的日期选择器:周一,2015年3月9日09:28:26 GMT
的javascript: -
function date_comapare()
{
var d1=document.getElementIdBy("startdate").value; // start date
var d2=document.getElementIdBy("enddate").value; //end date
if(new Date(d2).valueOf() < new Date(d1).valueOf())
{
alert("Endate date should be greater than start date"); // handle your error validation here
return false;
}
}