【问题标题】:AJAX username validation in DjangoDjango中的AJAX用户名验证
【发布时间】:2012-05-05 19:27:20
【问题描述】:

我想创建异步用户名验证, 在更改用户名输入的值时,访问数据库以查看该用户名是否有效。到目前为止,我有这个代码,它似乎不起作用。请帮助我找出哪里出了问题。谢谢!

我的 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)

【问题讨论】:

  • this CheckId 不是你想的那样。其他一切都应该工作。
  • 我确实将其更改为“#id”,但我现在总是无法使用.. 有什么想法吗??即使我将用户名更改为可用的用户名..

标签: ajax django forms validation


【解决方案1】:

CheckId() $(this).val() 中不起作用。你需要$('#id').val()

查看this discussion 了解this 关键字的工作原理

【讨论】:

  • 实际上现在#idval 总是显示不可用,即使我更改为可用的用户名也是如此。你能帮我吗?谢谢!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多