2014-08-27 88 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的的一部分。