比较c:中的输入字段中的两个值,如果是jstl的标记

时间:2015-03-09 04:26:14

标签: validation input jstl

我有两个输入字段,通过它我可以选择日期和时间。现在我想要显示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 填写表格后的屏幕排序 enter image description here

点击文字字段时会出现日历。

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;
   }
}