这是我的JavaScript:
<SCRIPT TYPE="text/JavaScript">
function validateHhMm(inputField) {
var time= $("#time").val();
var isValid = /^(time)?$/.test(inputField.value);
if (isValid) {
inputField.style.backgroundColor = '#bfa';
} else {
inputField.style.backgroundColor = '#fba';
}
return isValid;
}
</SCRIPT>
PHP脚本:
<?php
include 'connect.php';
$time = " SELECT * from schedule where id_ship=24";
$show_time = mysql_query($time);
$row = mysql_fetch_array($show_time);
?>
<input type="text" onchange="validateHhMm(this);" name="time" id="time" value="
<?php
echo $row['time_coming'];
?>">
此计划表
id_ship | time_coming |
----------------------------
24 | 11:10:02 |
我想再次输入表格时间。有效值必须等于或高于11:10:02。在11:10:02下的值无效。 那么,我应该在JavaScript中做些什么呢?
答案 0 :(得分:0)
您将要在服务器端和客户端验证时间。
让我们更改JavaScript函数,使其可以接受最小值。
<SCRIPT TYPE="text/JavaScript">
function validateHhMm(inputField, minValue) {
var time= $("#time").val();
var isValid = /^(time)?$/.test(inputField.value);
if (!isValid || inputField.value < minValue) {
inputField.style.backgroundColor = '#fba';
} else {
inputField.style.backgroundColor = '#bfa';
}
return isValid;
}
</SCRIPT>
因此,如果inputField.value没有验证您的正则表达式,或者不是小于最小值的时间,则认为它无效。
现在,使用:
将最小值传递给JavaScript<input type="text" onchange="validateHhMm(this,<?php echo $row['time_coming'];?>);" name="time" id="time" value="
<?php
echo $row['time_coming'];
?>">
好的,现在JavaScript已经过验证,你也需要通过PHP进行验证。
您没有发布POST页面的任何代码,但验证类似于:
if ($_POST['time'] < $your_row['time_coming'])
die("Invalid time posted")
答案 1 :(得分:0)
鉴于你有:
<input type="text" onchange="validateHhMm(this);" ... >
然后你将元素的引用传递给函数,所以在函数中:
var time= $("#time").val();
与:
相同var time = inputField.value;
你在哪里:
var isValid = /^(time)?$/.test(inputField.value);
您正在测试 inputField 的值到文字字符串“time”,这几乎肯定是假的。如果您希望测试时间是有效时间(即小时数为0到23,分钟数为0到59),您可以尝试:
function validateHHMM(s) {
var b = s.split(':');
return /^\d\d:\d\d$/.test(s) && // Check format is nn:nn
b[0] < 24 && b[0] > -1 && // Check hours are 0 to 23 inclusive
b[1] < 60 && b[1] > -1 // Check minutes are 0 to 59 inclusive
}
上述内容可以在一个正则表达式中完成,但是当其他人必须维护代码时,简单性就很重要。
输入有效后,您可以比较这些值。