Javascript 表单验证问题,代码不存在';行不通
我真的不知道为什么这个验证不起作用 这是我的html:Javascript 表单验证问题,代码不存在';行不通,javascript,html,validation,Javascript,Html,Validation,我真的不知道为什么这个验证不起作用 这是我的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&g
<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>
谢谢你的帮助
更新:是否确实需要执行此操作?这里testpage.html只是一个空的html文件
更新2:问题是我看不到任何消息或警报。看起来您是在传递表单,而不是要验证的字段。工作正常,scripts.js文件加载不正确,或者浏览器中缓存了旧版本。到底出了什么问题?发生了什么或没有发生什么?我没有看到任何消息或警报..他们正在传递他们想要验证的表单,这是完全有效的validateFormOnSubmit我在表单中传递,但是我在其中有一行:isURL(myForm.textField),所以它现在是textField..为什么scripts.js没有正确加载?我刚刚清空了缓存,这不是问题。将它内联添加到代码中,你会发现它是有效的,我已经尝试过了。必须是文件不存在或它在另一个目录中。我将代码放在.html文件中,但它仍然不工作!我正在使用wamp服务器,我尝试再次脱机和联机,但也没有任何帮助。我不知道该告诉您什么,我已将您的代码复制到我桌面上的一个空白.html文档中,并将脚本内联移动,它可以正常工作。我在localhost上进行测试,如下所示:localhost/myFolder/index.html。这真的很奇怪,我不明白。
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;
}