python-3.x - Django表单问题
问题描述
我正在使用 Django 来选择语言。一个选项工作正常,但另一个不起作用
选项(1)工作正常。
<select name="language"
onchange="this.form.submit()" >
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% for lang in LANGUAGES %}
<option value="{{ lang.0 }}" {% if lang.0 == LANGUAGE_CODE %} selected="selected"{% endif %} >{{ lang.1 }} ({{ lang.0 }})</option>
{% endfor %}
</select>
选项 1:不使用(表单提交按钮)
<form action="{% url 'set_language' %}" method="post" id="LanForm" name="LanForm">
{% csrf_token %}
<input class="lang" id="language" name="language" type="hidden" value="ar">
<input class="lang" id="setl" name="setl" type="submit" value="Go">
</form>
选择选项可以正常工作并正确更改语言和重定向。但如果我使用“开始”按钮,什么都不会改变。我想知道是什么问题。
解决方案
首先,您不要设置多个具有相同 ID 的节点。其次,您保持提交和隐藏输入的名称相同,即“语言”。
使用以下代码段并再次测试
<form action="{% url 'set_language' %}" method="post" id="LanForm" name="language">
{% csrf_token %}
<input class="lang" id="language" name="language" type="hidden" value="ar">
<input class="lang" type="submit" value="Go">
</form>
推荐阅读
- azure - 横向扩展时 Azure Web 应用的性能不佳
- javascript - 如何在reactjs中过滤多数组列表
- python - 将 Python 路径添加到 Jenkins
- python - Python:什么时候需要为模块名称添加前缀?
- css - 当我在and之间添加一个空格时, 这将在 chrome 中进入下一行
- c# - 为 2 个集合中的实体生成所有可能性
- java - Java servlet方法调用序列导致不同的结果
- kotlin - 在 Koin 中提供一个 Instance 作为其接口
- php - 具有超过 1900 个字段的表单,由于 php html 中的查询字符串限制,无法使用 post 方法提交
- c# - 在 Azure 中存储键值对并更改 Azure 函数中的值