0

我有一个django用户可以在其中使用的应用程序submit a form。我已将此表单放在div (say of id='mydiv_id')最初不可见的(通过css display:none)中。当用户想要输入输入时,他单击show页面上的按钮,并且通过javascript使 div 可见display:block

表单中的字段具有{{myform.myfield.errors}},因此ul class="errorlist"如果验证失败,将创建一个。

如果表单验证失败,我想通过运行另一个 javascript 来保持表单可见。javascript 的主体将只是 $('#mydiv_id').show();

但是我应该如何运行呢?如果没有在 javascript 内部进行验证,你如何告诉 javascript django 表单验证失败?

我想我需要将以下内容放入 javascript 正文中。除此之外,我不知道如何告诉它表单提交失败。

$(document).ready(function(){

..
});
4

3 回答 3

1
def method(request):
    if something_wrong:
        data['error'] = True
    return render_to_response('template.html', data)

在 template.html 中,您可以添加 javascript 块:

{% if error %}
<script type='text/javascript'>
    //the javascript used to show the message
    $(function(){
        $('#mydiv_id').show();
    });
</script>
{%endif%}
于 2012-12-03T07:18:27.853 回答
1

如果我很了解你

$(document).ready(function(){
    show = {% if form.errors %} true {% else %} false {% endif %}
    if (show) {
       $('#mydiv_id').show();
    }
    else {
    ....
    }

)};
于 2012-12-03T07:22:26.553 回答
0

使用 javascript 进行表单验证是一件很聪明的事情,如果表单无效,为什么还要调用服务器呢?您只是通过使其进行表单验证来为您的服务器增加额外的开销。如果您不需要调用服务器来进行表单验证,那么您没有理由这样做,请使用 javascript 来执行此操作。

于 2012-12-03T06:21:55.907 回答