在我的 django 应用程序中,我有一个表单,要求用户输入电子邮件地址和用户名。
我希望能够检查用户名或电子邮件地址是否已经存在并引发错误。但我想在不重新加载页面的情况下执行此操作,因此使用 javascript 或 Jquery。
我的第一个想法是这样的(对于用户名):
html:
<form method="post" onsubmit="return validateForm();">
{% csrf_token %}
<div id='error_message'></div>
<input class='username' type="text" name="username" value=""/>
<button type="submit">Valider</button>
</form>
在我的views.py中:
def myview(request):
users = User.objects.all()
return render_to_response('mytemplate.html', 'users':users, context_instance=RequestContext(request))
然后在我的模板中:
<div class='search'>
{% for user in users %}
<input type='hidden' value='{{user.username}}'
{% endfor %}
</div>
然后,在 js 中:
function validateForm() {
var value = $('.username').val()
if( // find 'value' in all the <input type='hidden'> ) {
var error = 'Username already exists';
$("#error_message").html(error);
return false;
}
};
我认为这很复杂。有没有更简单的方法来做到这一点?
感谢您的帮助。