我正在下拉列表中进行验证,该列表包含数据库中的值。现在,我可以在下拉列表中查看值,但是现在我不得不对其进行验证。下拉列表中的值采用日期时间格式,例如(2019-04-02 07:21:34)。
现在,我有两个带有标签“ To:”和“ From:”的下拉列表,基本上我想做的是,如果我在第一个下拉列表中选择了一个日期,可以说2019-02-02,我选择的第二个选项是2019-01-01,当我按下一个按钮时,它应该无效,因为它向后显示,并且应该显示一条消息,表明我输入的日期无效。我对处理方法感到困惑,因为格式包含连字符和冒号。
<?php
$hostname = "localhost";
$username = "root";
$password = "";
$databaseName = "it180p";
$connect = mysqli_connect($hostname, $username, $password, $databaseName);
$query = "SELECT * FROM `incidentreport` ORDER BY dateTime DESC";
$result1 = mysqli_query($connect, $query);
$result2 = mysqli_query($connect, $query);
$options = "";
while($row2 = mysqli_fetch_array($result2))
{
$options = $options."<option>$row2[6]</option>";
}
?>
To:
<select>
<option disabled selected value> - select start of date - </option>
<?php while($row1 = mysqli_fetch_array($result1)):;?>
<option value="<?php echo $row1[0];?>"><?php echo $row1[6];?></option>
<?php endwhile;?>
</select>
From:
<select>
<option disabled selected value> - select end of date - </option>
<?php echo $options;?>
</select>
答案 0 :(得分:1)
包括js,并在任何下拉菜单中调用change事件。
首先,为您的下拉列表“ from_date”和“ to_date”分配ID。
选择任何淹没值时,以上代码将运行。它将检查两个日期都不为空,然后它将继续。在下一种情况下,如果from_date大于或等于to_date,则会显示一条警报消息。
$(document).ready(function(){
$('#from_date, #to_date').on('change', function(){
var from_date = $('#from_date').val();
var to_date= $('#to_date').val();
// if both the fields are not empty
if((Date.parse(from_date ) >= Date.parse(to_date))){
alert("End date should be greater than Start date");
//if End date is not value, deselect the selected date
$('#to_date').val('');
return false;
}
});// Change
});// Ready
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Start Date<br>
<select id="from_date">
<option> - select start of date - </option>
<option value="2019-01-01"> 2019-01-01 </option>
<option value="2019-01-15"> 2019-01-15 </option>
<option value="2019-01-28"> 2019-01-28 </option>
</select>
<br><br>End Date<br>
<select id="to_date">
<option> - select end of date - </option>
<option value="2017-08-29"> 2017-08-29 </option>
<option value="2018-04-15"> 2018-04-15 </option>
<option value="2019-05-17"> 2019-05-17 </option>
</select>
答案 1 :(得分:0)
它是示例,您可以编写一个JavaScript代码,将日期时间转换为时间戳,使用时间戳进行比较:
<form asp-controller="Login" asp-action="Verify" method="post">
按下提交按钮时,调用此功能