2

ユーザー名入力の値が変更されると、データベースにアクセスして、そのユーザー名が使用できるかどうかを確認する非同期ユーザー名検証を作成したいと考えています。これまでのところ、このコードは機能していないようです。問題が発生した場所を見つけるのを手伝ってください。ありがとう!

私のHTML:

<div>Username</div>
<input type="text" name="id" id="id">
<div id="idval"></div>

私のスクリプト:

<script>
function CheckId() {
$.get('/signup/', {username: $(this).val()},
    function(data){
        if(data == "True"){
            $('#idval').html("You may use this ID");
        } else {
            $('#idval').html("Unavailable");
        }
});
}
function onChange(){
 $("#id").change( function() {CheckId()});
}
$(document).ready(onChange);
</script>       

私の見解:

def signup(request):
    if request.method == "GET":
        p = request.GET.copy()
        if p.has_key('username'):         
            name = p['username']
            if User.objects.filter(username__iexact=name):
                return HttpResponse(False)
            else:
                return HttpResponse(True)
4

1 に答える 1

3

inCheckId() $(this).val()は機能しません。あなたが必要です$('#id').val()

キーワードがどのように機能するかについてのこの議論を参照してくださいthis

于 2012-04-25T06:04:44.837 に答える