【问题标题】:input type image not working输入类型图像不起作用
【发布时间】:2015-08-01 19:01:00
【问题描述】:

所以,我正在这个 Django 网站上工作,我已经完成了 i18n 翻译,现在我正在尝试将语言切换器表单设置为标志,但代码不起作用!

选择/选项/提交完美无缺,但输入类型图像的代码不起作用,它提交,重新加载页面,但语言没有改变!

有什么想法吗?

    <div id="lang">
        <form action="/i18n/setlang/" method="post">
        {% csrf_token %}
            <input name="next" type="hidden" value="{{request.path}}" />

            {%for lang in LANGUAGES %}
            <input type="hidden" name="language" value="{{lang.0}}"/>
            <input id="lang_{{lang.0}}" type="image" 
            src="static/img/flags/{{ lang.0 }}.png" alt="{{ lang.1 }}"/>
            {% endfor %}

            <select name="language">
            {% for lang in LANGUAGES %}
            <option value="{{ lang.0 }}">{{ lang.1 }}</option>
            {% endfor %}
            </select>

            <input type="submit" value="Go" />
        </form>
    </div>

【问题讨论】:

  • 如果没有查看负责更改语言的视图函数,就无法帮助您...

标签: django forms


【解决方案1】:

你的表单搞砸了两件事。

多个元素具有相同的name 属性

<input type="hidden" name="language" value="{{lang.0}}"/>
<select name="language">

没有name 属性的表单元素。

<input id="lang_{{lang.0}}" type="image" 
            src="static/img/flags/{{ lang.0 }}.png" alt="{{ lang.1 }}"/>|

您如何尝试获取有关视图的值?

【讨论】:

  • 其实我已经解决了!我将整个表单放在 for 循环中,从而为每种语言和标志创建一个表单,这实际上是我认为最正确的做法,因为每个表单都会发布并请求不同的语言......不要如何我以前没有意识到这么愚蠢的事情!
猜你喜欢
  • 1970-01-01
  • 2021-02-09
  • 1970-01-01
  • 2012-04-08
  • 2012-09-25
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
  • 2013-04-16
相关资源
最近更新 更多