表格重新提交Django如何避免刷新或后退按钮

问题描述 投票:0回答:1

我有一个django应用程序。这是一个填写的表格(如回答5个问题点击下一个按钮,然后转到接下来的五个问题)。所有带问题的步骤都在1个视图和1个html文件中呈现。如果我单击about_us或其他链接(到另一个视图和html文件),然后单击后退按钮,然后单击“需要重新提交表单”并从最开始需要填写。如何严格回到以前的地方。

查看渲染模板与下一个代码。

@secure_required
def presubmit(request):     

if request.user.is_authenticated():
    profile = request.user.profile
    try:
        profile.vodID = dictresponse['soap:Envelope']['soap:Body']['InitiateVOAResponse']['VOD_ID']
    except:
        profile.vodID = ''
    profile.save()
    lo = {}
        try:
        lo_user = User.objects.get(email=request.user.profile.loanOfficer)
        lo_obj = LoanManager.objects.get(user=lo_user)
        lo['isChosen'] = True
        lo['name'] = lo_obj.user.profile.firstName + ' '+lo_obj.user.profile.lastName
        lo['email'] = request.user.profile.loanOfficer
        lo['nmlsID'] = lo_obj.nmlsID
        lo['phone'] = lo_obj.phone
    except:
        lo['isChosen'] = False

    load = False
    try:
        preapp = PreApp.objects.filter(username=request.user.username).order_by('-id')[0]
        load = True
    except:
        pass
    return render_to_response('home/revisedVersion.html', {'user': request.user, 'lo':lo, 'accountcheckURL': accountcheckURL,'load':load}, context_instance=RequestContext(request))
return render_to_response('home/revisedVersionSignup.html', {'user': User.objects.get(email='[email protected]')}, context_instance=RequestContext(request))

如果用户已通过身份验证并且已在中间步骤中注销,则revisionVersionSignup已重定向回此页面

jquery html django
1个回答
0
投票

这不应该与Django有任何关系,它只是浏览器的工作方式。您已提交帖子填写表格,然后您转到其他链接,然后当您返回时。您已经通过浏览器要求重新提交帖子,并且您的视图不知道要借出的步骤,因此从0开始,因为您只使用一个视图来显示表单。你可以添加某种步数计数器,但我不建议,因为它可能会导致问题,最终。树可能的解决方案

  1. 将您的表单更改为“javascript表单”,您只需立即提交结果 - 如果您被允许使用此类方案
  2. 在表单中提供的链接中使用_blank,这些链接将在新选项卡中打开,不会中断表单(最简单的解决方案)。
  3. 使用一些警告模式告知用户如果他离开表格,则需要从0填写。
© www.soinside.com 2019 - 2024. All rights reserved.