在使用JavaScript提交时将类添加到输入

在使用JavaScript提交时将类添加到输入,javascript,Javascript,我有一个简单的函数来证明日期格式,如果它无效,我想添加一个类“highlight”。不幸的是,我不能让它工作。我想是因为页面重新加载。有什么想法吗 <!DOCTYPE html> <html lang="en"> <head> <script> function validatedate(inputText) { // Regular Expression var datefo

我有一个简单的函数来证明日期格式,如果它无效,我想添加一个类“highlight”。不幸的是,我不能让它工作。我想是因为页面重新加载。有什么想法吗

<!DOCTYPE html>
<html lang="en">
<head>
    <script>
        function validatedate(inputText) {
            // Regular Expression
            var dateformat = /^(0?[1-9]|[12][0-9]|3[01])[.](0?[1-9]|1[012])[.]\d{4}$/;
          if(inputText.value.match(dateformat)) {
            alert("date format is ok!");
          } else {
            alert("Invalid date format!");
            document.form1.text1.focus();
            document.form1.text1.setAttribute('class', 'highlight');
            return false;
          }
        }
    </script>
</head>
<body>
    <form name="form1">
        <input type='text' name='text1' /> 
        <input type="submit" name="submit" value="Submit" onclick="validatedate(document.form1.text1)" />
    </form>
</body>
</html>

函数validatedate(inputText){
//正则表达式
var dateformat=/^(0?[1-9]|[12][0-9]|[3[01])[。](0?[1-9]|[012])[。]\d{4}$/;
如果(inputText.value.match(日期格式)){
警报(“日期格式正常!”);
}否则{
警报(“无效的日期格式!”);
document.form1.text1.focus();
document.form1.text1.setAttribute('class','highlight');
返回false;
}
}

您应该在内联事件处理程序中包含
return

onclick="return validatedate(document.form1.text1)"
函数验证日期(inputText){
//正则表达式
var dateformat=/^(0?[1-9]|[12][0-9]|[3[01])[。](0?[1-9]|[012])[。]\d{4}$/;
如果(inputText.value.match(日期格式)){
警报(“日期格式正常!”);
}否则{
警报(“无效的日期格式!”);
document.form1.text1.focus();
document.form1.text1.setAttribute('class','highlight');
返回false;
}
}


在“提交”事件中向表单添加一个事件侦听器,然后您必须在事件处理程序中使用。虽然,是的,它确实“修复”了O.P.的请求,但如果表单未按按钮(手机上的输入键、“发送”/“提交”/“完成”键…)提交,它将失败。哦,太简单了,非常感谢!