【问题标题】:Django Language Change Anchors vs. OptionsDjango 语言更改锚点与选项
【发布时间】:2016-11-04 03:32:42
【问题描述】:

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

<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 视图可以与锚标签一起使用吗?如果我需要将它们更改为带有选项的选择,当单击其中一个选项而不需要提交按钮时,如何提交表单?

【问题讨论】:

    标签: django


    【解决方案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();
    }
    

    【讨论】:

    • 那么为语言使用选项标签并将它们全部包装在选择中?
    • 是的,那么每次更改所选选项时都会触发选择元素onchange。如果这个答案有助于您考虑接受它。
    猜你喜欢
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 2014-03-08
    • 2016-08-11
    • 2013-06-08
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多