【问题标题】:comparing two values from the input field in c:if tag of jstl比较 jstl 的 c:if 标记中输入字段的两个值
【发布时间】:2024-01-16 01:34:01
【问题描述】:

我有两个输入字段,通过它我可以选择日期和时间。现在我想表明 startdate 应该总是小于 enddate。如果不是,那么应该显示错误消息,显示“enddate has to be greater” .输入字段的代码是

<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 吗?

EDIT-1 填写表格后的屏幕排序为

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

【问题讨论】:

  • 请不要把jstl和javascript搞混。 JSTL 在服务器端工作到客户端,javacript 在客户端工作
  • @Md.SharifulIslam ,那么如何检查结束日期,即如何确保开始日期应该小于结束日期
  • 您可以双向检查——服务器端还是客户端?尝试任何一个
  • @Md.SharifulIslam,如果我想在客户端做,怎么做。

标签: validation input jstl


【解决方案1】:

你可以这样尝试:-

修改这一行:

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

您可以像这样格式化您的日期选择器:Mon, 09 Mar 2015 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;
   }
}

【讨论】:

  • 我在 标记中定义了带有 in 头的 javascript。但它不起作用。当我输入的结束日期小于开始日期并且当我点击提交时,不会显示任何警报消息。
  • 你能在填完表格后给我截图吗?
  • 这个函数有什么作用? NewCal('startdate','ddmmmyyyy',true,24)
  • 请看我的截图
最近更新 更多