2017-10-16 40 views
1

我做了一个链接到外部Js文件的HTML代码,但它的JS代码不验证表单字段。任何人都可以发现问题。我试图尽我所能让JS来验证表单,但它不会工作。下面是JS代码:外部Js文件不验证我的HTML表单

<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

访问检查员。嗨,请在提出另一个问题之前参考此处。 https://stackoverflow.com/help/how-to-ask 请包括你试过的,而不是说你已经“尝试了所有的东西”,这也有助于你的表单HTML。 您是否触发提交功能?你有一个验证表单的按钮吗? –

回答

0

由于事实,你没有张贴你的HTML,我会假设你不触发你的函数。

为了使您的功能正常工作,您需要触发表单验证功能。为了做到这一点,您需要将onsubmit="return validateMyForm()"添加到您的表单标签。在调用您的功能之前,请确保包含returnAs shown here

如果代码存在问题,您可以使用内置于所有Web浏览器中的检查器查看错误。如果您使用的是铬合金,您可以通过按Control+Shift+C

+0

我是这个论坛的新手。不幸的是,留言板不会允许我发布我的html代码 – Val

+0

您必须在每行中使用4个空格缩进,以使其显示为代码 –