javascript中的验证

时间:2013-09-03 06:02:08

标签: javascript jquery python django

我在django中有一个自定义表单。它正常工作,每当我对它应用javascript验证而不是验证不起作用。我想用javascript验证它。它显示警告消息但没有重定向表单。

表格: -

<form method="POST" action="#" class="form-horizontal" id="userform" name="uform" enctype="multipart/form-data" >{% csrf_token %}
 <fieldset>

  <div class="control-group formSep">
   <label for="u_id" class="control-label">App Id </label>
     <div class="controls">
      <input type="text" id="appid" class="input-xlarge" name="appid" value="" />
                                    </div>
                                            </div>
    <div class="control-group">
                                                <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>
                                            </div>
</fieldset>
</form>

在views.py中: -

@csrf_exempt
def applicationform(request):
     if request.method == 'POST':

        getappid = request.POST['appid']
        getjobtitle=request.POST['jobtitle']
        odeskid=request.POST['odeskid']
        clientspent=request.POST['client_spent']
        jobtype=request.POST['jobtype']
        notestype=request.POST['notes']
            request.session['setid'] = request.POST['appid']
                if getappid == '':
            return HttpResponse('<script> alert("fill app id"); </script>')
                else:
            getintable = application(app_id = request.POST['appid'], job_title = request.POST['jobtitle'], odesk_id = request.POST['odeskid'],client_spent = request.POST['client_spent'], job_type = request.POST['jobtype'],notes_type = request.POST['notes'])
        getintable.save()
        return HttpResponseRedirect('/applicationview/')        
     else:
        return render_to_response('applicationform.html')

3 个答案:

答案 0 :(得分:1)

在警告声明中执行脚本后重定向

 @csrf_exempt
    def applicationform(request):
         if request.method == 'POST':

            getappid = request.POST['appid']
            getjobtitle=request.POST['jobtitle']
            odeskid=request.POST['odeskid']
            clientspent=request.POST['client_spent']
            jobtype=request.POST['jobtype']
            notestype=request.POST['notes']
                request.session['setid'] = request.POST['appid']
                    if getappid == '':
                return HttpResponse('<script> alert("fill app id"); document.location.href="redirect url" </script>') #change here
                    else:
                getintable = application(app_id = request.POST['appid'], job_title = request.POST['jobtitle'], odesk_id = request.POST['odeskid'],client_spent = request.POST['client_spent'], job_type = request.POST['jobtype'],notes_type = request.POST['notes'])
            getintable.save()
            return HttpResponseRedirect('/applicationview/')        
         else:
            return render_to_response('applicationform.html')

答案 1 :(得分:0)

表单操作需要网址

<form method="POST" action="/applicationview/" class="form-horizontal" id="userform" name="uform" enctype="multipart/form-data" >

答案 2 :(得分:0)

使用return False;

  $('#userform').submit(function(){
 var textVal = $("#appid").val();
 if(textVal == "") {
 alert('Text Field Cannot be Empty');
  return false;
  })

如果你想留在同一页面,请使用返回false

如果您想重定向到特定页面,请使用 update_content_div('url');