如何使用 jquery 选择多个 select 来捕获 html 表单输入
How to capture html form input with flask using jquery chosen multiple select
我有一个 HTML 表单,其中包含 jquery-chosen
多个国家/地区选择。我想通过 POST 请求将此输入发送到 Flask
。问题是 Flask 不捕获选择。
当我不使用选择的js时,它有效:
<div class = "webform">
<form method="POST" action = "/monthly_active" name = "countries">
<p>Select countries</p>
<select multiple id="Country" name="Country">
<option>Select...</option>
<option value="DE">DE</option>
<option value="AT">AT</option>
<option value="RU">RU</option>
<option name="PL">PL</option>
<option name="IT">IT</option>
<option name="GB">GB</option>
<option name="BR">BR</option>
</select>
<input type="submit" value="Submit">
</form>
但是选择了 js 就不行了:
<form method="POST" action = "/monthly_active" name = "chart_options" >
<p>Select countries</p>
<select name = "countries[]" data-placeholder="Countries" multiple class="chosen-select" tabindex="8">
<option value="AT">AT</option>
<option value="GB">GB</option>
<option value="RU">RU</option>
<option selected>DE</option>
<option disabled>Sun Bear</option>
<option selected>ES</option>
<option disabled>Spectacled Bear</option>
</select>
<script> $(".chosen-select").chosen(); </script>
<input type="submit" value="Submit">
</form>
在 Flask 中,我使用 request.form.getlist()
来获取输入列表。
问题是我对 HTML 和 javascript 非常非常基本,因此,我不知道如何解决这个问题。
已解决:
我的错误在request.form.getlist('chart_options')
:
我在那里传递了表单的名称,而我必须传递 <select>
这有效:
target_countries = request.form.getlist('countries[]')
我有一个 HTML 表单,其中包含 jquery-chosen
多个国家/地区选择。我想通过 POST 请求将此输入发送到 Flask
。问题是 Flask 不捕获选择。
当我不使用选择的js时,它有效:
<div class = "webform">
<form method="POST" action = "/monthly_active" name = "countries">
<p>Select countries</p>
<select multiple id="Country" name="Country">
<option>Select...</option>
<option value="DE">DE</option>
<option value="AT">AT</option>
<option value="RU">RU</option>
<option name="PL">PL</option>
<option name="IT">IT</option>
<option name="GB">GB</option>
<option name="BR">BR</option>
</select>
<input type="submit" value="Submit">
</form>
但是选择了 js 就不行了:
<form method="POST" action = "/monthly_active" name = "chart_options" >
<p>Select countries</p>
<select name = "countries[]" data-placeholder="Countries" multiple class="chosen-select" tabindex="8">
<option value="AT">AT</option>
<option value="GB">GB</option>
<option value="RU">RU</option>
<option selected>DE</option>
<option disabled>Sun Bear</option>
<option selected>ES</option>
<option disabled>Spectacled Bear</option>
</select>
<script> $(".chosen-select").chosen(); </script>
<input type="submit" value="Submit">
</form>
在 Flask 中,我使用 request.form.getlist()
来获取输入列表。
问题是我对 HTML 和 javascript 非常非常基本,因此,我不知道如何解决这个问题。
已解决:
我的错误在request.form.getlist('chart_options')
:
我在那里传递了表单的名称,而我必须传递 <select>
这有效:
target_countries = request.form.getlist('countries[]')