2017-10-16 41 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個空格縮進,以使其顯示爲代碼 –