Django语言更改主播与选项

时间:2016-07-01 16:31:51

标签: django

我有一个下拉语言列表,如下所示:

<ul class="languages hoverSelectorBlock">
    {% get_current_language as current_lang %}
    {% for lang in LANGUAGES %}
        <li><a href="{% url 'set_language' %}" lang-code="{{ lang.0 }}"
               class="change_language{% if current_lang == lang.0 %} current_language {% endif %}"
               {% if current_lang == lang.0 %}selected="selected"
               {% else %}selected=""{% endif %}>{{ lang.1 }}</a></li>
    {% endfor %}
</ul>

文档说它需要作为POST请求提交。根据我的理解,这意味着我需要将锚标签更改为选项。但我想要相同的行为,以便当您单击一种语言时,它将提交表单并以该语言重新加载当前页面。

set_language视图是否可以使用锚标记?如果我需要将它们更改为带有选项的选择,如何在单击其中一个选项时提交表单而无需提交按钮?

1 个答案:

答案 0 :(得分:1)

如果您使用select options并将其包装在form with an id中。您可以提交表单on the select element's change event

<form id="my_form">
    <select onchange="submit_my_form()">
    ...
    </select>
</form>


function submit_my_form(){
    document.getElementById("my_form").submit();
}