我真的不知道为什么这个验证不起作用。
这是我的HTML:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type='text/javascript' src="scripts.js"></script>
<title>Test Page!</title>
</head>
<body>
<form onsubmit ="return validateFormOnSubmit(this)" name="myForm" action = "testForm.html">
<input name="textField" type="text" value="" size="50" id= "textfield" /> <br />
<input name="button" type="submit" value="Submit"/>
</form>
</body>
</html>
这是我的javascript文件:
function isURL(fld){
var error = "";
var regex = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
if(regex.test(fld.value)){
error = "No URL's Allowed!";
}
else{
error = "";
}
return error;
}
function validateFormOnSubmit(myForm) {
var reason = "";
reason += isURL(myForm.textField);
if (reason != "") {
alert("there's something wrong: \n" + reason);
return false;
}
return true;
}
感谢您的帮助。
更新:是真正需要的操作吗? testpage.html在这里只是一个空的html文件!
更新2:问题是我没有看到任何消息或提醒。
答案 0 :(得分:1)
它工作正常,您的scripts.js文件未正确加载或旧版本缓存在您的浏览器中
答案 1 :(得分:-1)
看起来你正在传递表单,而不是你想要验证的字段。