在我的django应用程序中,我有一个表单,我要求用户输入电子邮件地址和用户名。与Django的Jquery表单验证
我希望能够检查用户名或电子邮件地址是否已经存在并引发错误。但我想这样做,而不重新加载我的网页,所以使用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;
}
};
我觉得这很复杂。有一种更简单的方法来实现这一点吗?
感谢您的帮助。
你可以把通过jQuery的Ajax调用,检查用户是否存在和视图可以使用用户名并将此结果返回到脚本。 – Jingo