我在html中编写了一个链接到外部Js文件的代码,但JS代码并没有验证表单字段。任何人都可以发现问题。我尽我所能让JS来验证表单,但它不会起作用。以下是JS代码:
<script>
function validateMyForm() {
var fname = document["myform"]["firstname"].value;
var lname = document["myform"]["lastname"].value;
var email = document["myform"]["email"].value;
var atpos = email.indexOf("@");
var dotpos = email.lastIndexOf(".");
var pass = document["myform"]["password"].value;
var passlen = pass.length;
var confpass = document["myform"]["ConfirmPassword"].value;
if (fname == null || fname == "") {
alert("Please enter your First Name!");
return false;
} else if (lname == null || lname == "") {
alert("Please enter a your Last Name!");
return false;
} else if (email == null || email == "") {
alert("Please enter an email!");
return false;
} else if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= email.length) {
alert("Please enter a valid email address!");
return false;
} else if (pass == null || pass == "") {
alert("Please enter a Password!");
return false;
} else if (passlen < 4 || passlen > 15) {
alert("Password needs to be to have a length of 4-15 characters");
return false;
} else if (pass != confpass) {
alert("Passwords do not match!");
return false;
}
}
</script>
答案 0 :(得分:0)
由于您没有发布HTML,我将假设您没有触发您的功能。
为了使您的功能正常工作,您需要触发表单验证功能。为此,您需要将onsubmit="return validateMyForm()"
添加到表单标记中。在调用您的函数之前,请确保包含return
。 As shown here
如果您的代码出现问题,则可以使用内置于所有Web浏览器中的检查器来查看错误。如果您使用的是chrome,则可以通过按Control+Shift+C