2014-08-27 33 views
1
<form action="register.php" method="post" id="regform"> 
    <h4>Login info</h4> 
    <hr><br> 
    <input type="text" name="username" placeholder="Username"><br><br> 
    <input type="password" name="password" placeholder="Password"><br><br> 
</form> 

-jQuery的表單驗證錯誤

$(document).ready(function(){ 
    $('#regform').on('submit', function(){ 
     alert($(this).username.val()); 
     return false; 
    }); 
}); 

-

我得到的錯誤:

TypeError: $(...).username is undefined 

看不到我在做什麼錯。 。

回答

1

看起來你的意思是:

$(this).find("input[name=username]").val() 

你不能只是追加.username到一個jQuery對象的末尾,希望得到正確的返回值。你需要從DOM中選擇正確的元素。

此外,而不是 「返回false」 你應該這樣做:

$('#regform').on('submit', function(e){ 
    e.preventDefault(); 
}); 
2

您可以使用下列內容:

$(this).find('[name="username"]').val() 

Example

或可替代this.username.value將工作太。

2

它應該是:

alert($(this).find('[name=username]').val()); 

或:

alert(this.username.value); 

訪問輸入元件作爲含形式的屬性是一個DOM功能,而不是jQuery的的一部分。