2012-06-07 41 views
0

所以我有這個網站:JavaScript表單驗證沒有工作,不能魚翅爲什麼

<form action="insert.php" method="post" onsubmit="return validateForm(this)"> 
<label for="FUP start date">FUP start date:</label> 
<input type="text" name="inputField" id="inputField"/> 
</br> 
</br> 
<label for="FUP end date">FUP end date:&nbsp;</label> 
<input type="text" name="inputField2" id="inputField2" /> 
</br> 
</br> 
<label for="Allowed traffic">Allowed traffic:</label> 
<input type="text" name="Allowed_traffic" id="Allowed_traffic"/> 
</br> 
</br> 
<label for="Frequency">Frequency:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> 
<input type="text" name="Frequency" id="Frequency" /> 
</br> 
</br> 
<input type="submit" value="submit"> 
</form> 

而且這個JavaScript密碼(帕羅拉):

<script> 
function validateForm(formElement) { 
    if (formElement.Allowed_traffic.length < 5) { 
    alert('aaaPlease enter a password that is at least 5 characters long'); 
    return false; 
} 
if (formElement.Allowed_traffic.length > 10) { 
    alert('Please enter a password that is less than 10 characters long'); 
    return false; 
} 
} 

</script> 

我在做什麼錯?我想檢查一下提交的密碼是否在5到10個字符之間。 謝謝!

回答

1

.value.length代替.length

+0

從技術上講,這不是必要的,因爲如果返回值是完全虛假的形式提交僅取消,和/或'preventDefault'方法的事件對象被調用。不返回值(返回'undefined')允許提交繼續。 –

+0

謝謝大家!有用! –

+0

沒問題;樂於幫助! –

0

您目前正在查看<input>元素本身的length屬性(可能不存在)。你想在看什麼<input>元素的值的length財產,所以做到以下幾點:

if (formElement.Allowed_traffic.value.length < 5) { 
    alert('aaaPlease enter a password that is at least 5 characters long'); 
    return false; 
} 
else if (formElement.Allowed_traffic.value.length > 10) { 
    alert('Please enter a password that is less than 10 characters long'); 
    return false; 
} 

請注意,我把它改成一個if ... else if因爲如果第一個條件爲真那麼第二個不能。

0

嘗試使用

var Allowed_traffic = document.getElementById("Allowed_traffic"); 

代替

formElement.Allowed_traffic 
+0

這並不是必須的,因爲後者仍然有效。問題是使用'.length'而不是'.value.length'。 –

+0

是的你是對的,但我猜'document.getElementById(「Allowed_traffic」);'是更可靠的跨瀏覽器,而不是'formElement.Allowed_traffic' – yogi

+0

這是真的,我也更喜歡第一個在第二個由於這個原因儘管它比較冗長。 –

相關問題