使用相同的字段表单POST HTML

时间:2015-04-09 08:31:59

标签: html css django

我的表单有2个输入,但名称相同banana。 但是每一行对于fruit.number都有不同的值。

Django模板

    

{% for fruit in response %}
            <tr>
                <td>{{ fruit.number }}</td>
                <td>
                    <select name="banana" class="update_input">
                        <option selected="selected">yes</option>
                        <option value="false">no</option>
                    </select>
                </td>

        {% endfor %}
<input type="submit" value="Submit" class="btn" style="color:black;">
</form>

当我发布POST时,我发布了两次香蕉值。但我需要根据fruit.number区分这些值。

我有什么选择。从我可以看到的主要选项是将水果编号添加到选择的名称,即

<select name="1_banana" class="update_input">
      <option value="true" selected="selected">yes</option>
      <option value="false">no</option>
</select>

是否有像{1 : {"banana":"false"}}这样的嵌套POST?

希望这一切都有道理:)

谢谢,

1 个答案:

答案 0 :(得分:0)

您只有选项ID才能将{{ fruit.number }}附加到您的选择名称:

{% for fruit in response %}
  <tr>
    <td>{{ fruit.number }}</td>
    <td>
      <select name="banana_{{ fruit.number }}" class="update_input">
        <option value="true" selected="selected">yes</option>
        <option value="false">no</option>
      </select>
    </td>
  </tr>
{% endfor %}

/*
POST:
[
  'banana_1': 'true',
  'banana_2': 'false'
]
*/

注意:

  • 不要忘记在&#34;是&#34;上添加value属性选项
  • 缺少</tr>(只是一个通知,可能是一个错字)

有一个选项允许您为同一个名称设置多个值:

<select name="banana[]" class="update_input">

不幸的是,除非您在代码中区分它们,否则您无法区分两个水果值:

{% for fruit in response %}
  <tr>
    <td>{{ fruit.number }}</td>
    <td>
      <select name="banana[]" class="update_input">
        <option value="{{ fruit.number }}_true" selected="selected">yes</option>
        <option value="{{ fruit.number }}_false">no</option>
      </select>
    </td>
  </tr>
{% endfor %}

/*
POST:
[
  'banana': [ '1_true, '2_false' ]
]
*/