私の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;
}
};
これはかなり複雑だと思います。それを達成するためのより簡単な方法はありますか?
お手伝いありがとうございます。