在使用JavaScript提交时将类添加到输入
我有一个简单的函数来证明日期格式,如果它无效,我想添加一个类“highlight”。不幸的是,我不能让它工作。我想是因为页面重新加载。有什么想法吗在使用JavaScript提交时将类添加到输入,javascript,Javascript,我有一个简单的函数来证明日期格式,如果它无效,我想添加一个类“highlight”。不幸的是,我不能让它工作。我想是因为页面重新加载。有什么想法吗 <!DOCTYPE html> <html lang="en"> <head> <script> function validatedate(inputText) { // Regular Expression var datefo
<!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.的请求,但如果表单未按按钮(手机上的输入键、“发送”/“提交”/“完成”键…)提交,它将失败。哦,太简单了,非常感谢!