2013-08-29 180 views
0

我知道這非常愚蠢,但標籤之間的代碼卻不起作用。Javascript表單驗證不起作用

我有一個簡單的HTML註冊表單。而js-code會做一個簡單的檢查,任何輸入都是空的。

function validate() 
{ 
    if (document.forms.registration.email.value == "") 
    { 
     alert("You must provide an email address."); 
     return false; 
    } 
    else if (document.forms.registration.password1.value != document.forms.registration.password2.value) 
    { 
     alert("You must provide the same password twice"); 
     return false; 
    } 
    else if (!document.forms.registration.agreement.checked) 
    { 
     alert("You must agree to ours terms and conditions"); 
     return false; 
    } 
    return true; 
} 

由於某種原因,瀏覽器會忽略此代碼並提交表單,即使它是空的。

編輯:(基於OP評論增補)

<form action="process.php" id="registration" method="get" onsubmit="return.validate();"> 
     <!-- Other child elements of the form --> 
</form> 
+3

你真的將這個函數綁定到你的表單的提交事件嗎? – meagar

+2

請顯示您如何使用此功能。 –

+0

@meagar&Claudio Redi。對於你們倆。下面是我如何使用這個js代碼:

user1499804

回答

1

通過onsubmit="return validate();"更換onsubmit="return.validate();"
作爲@showdev確實說:

你不需要點。


你也可以使用JavaScript庫如jQuery生成代碼。

+0

非常感謝!它現在有效!我正在哈佛大學的CS-75課程學習網頁開發。我寫的這段代碼來自example。我真的很愚蠢,因爲即使在這個例子中寫了正確的版本。所以,真的很感謝你。順便說一句,爲什麼Apache給我這樣的錯誤?我的意思是favicon.ico。 – user1499804