0

フォームがあり、JavaScript 検証を使用しています。フォームにリダイレクトするときにアラートを表示した後、すべてのフィールドの値を空にします。カスタムフォーム:

form method="POST" action="#" class="form-horizontal"  name="jform" enctype="multipart/form-data" >{% csrf_token %}
<fieldset>
<div class="control-group formSep">
<label for="u_fname" class="control-label">oDesk Id</label>
<div class="controls">
<input type="text"  class="input-xlarge" name="odesk" value="" />
</div>
</div>
<div class="control-group formSep">
<label for="u_fname" class="control-label">Hours</label>
<div class="controls">
<input type="text"  class="input-xlarge" name="hours" value="" />
</div>
</div>
<div class="controls">
<button class="btn btn-gebo" type="submit" name="asubmit">Submit</button>
<input type="reset" name="reset" value="Cancel" class="btn btn-gebo" />
</div>

views.py で:-

@csrf_exempt
def odesk(request):
    if request.method == 'POST':
        odeskid=request.POST['odesk']
        hours = request.POST['hours']
        feedback= request.POST['feedback']
        if odeskid == '':
            return HttpResponse('<script> alert("fill odesk id here ");  document.location.href="/odesks/"; </script>')
        if hours == '':
            return HttpResponse('<script> alert("fill total hours");  document.location.href="/odesks/"; </script>')
        if feedback == '':
            return HttpResponse('<script> alert("fill feedback ");  document.location.href="/odesks/"; </script>')
        else:
            getintable = odesktable(odeskid = request.POST['odesk'], hours = request.POST['hours'], feedback = request.POST['feedback'])
        getintable.save()
        return render_to_response('odeskform.html')
    else:
        return render_to_response('odeskform.html')

動作していますが、リダイレクトするとアラートが発生し、すべてのフィールドがクリアされます。

4

0 に答える 0