当选择尝试时,html下拉菜单会重新加载 - 请帮助

时间:2018-04-03 06:34:24

标签: python html menu dropdown reload

我正在尝试创建一个国家/地区列表的下拉菜单,我最终会使用两次来选择两个国家/地区从数据库和图表中提取数据。使用html,jinja,python和flask

我可以从python中的SQL生成国家列表...我可以使用jinja生成html模板,创建下拉菜单。到目前为止一切都很好。

但是当我点击下拉列表时,列表会短暂显示,但列表会立即重新加载,因此无法实际选择并移至results.html。

假设陷入困境 - 可能是由于与' /'混淆和' /搜索'在路线?或者GET / POST问题?布局中有什么东西?

在国家之间似乎也是一个空白的界限,这是不容错过的!

非常感谢您的建议,请参阅search.html的摘录和application.py中的摘录可以发布更多信息

@app.route("/", methods=["GET", "POST"])
def search():
"""Choose country"""
if request.method == "POST":
    # Ensure  Country A was submitted
    if not request.form.get("ctrya"):
        return apology("must select a country for Country A", 403)
    else:
        return render_template("results.html")
else:
    ctry_list = []
    # creating drop down list for the webpage
    countries = db.execute("SELECT country  FROM indicators GROUP BY country")
    for ctry in countries:
        ctry_list.append(ctry["country"])

    return render_template("search.html", country_list = ctry_list)    

和html

{% extends "layout.html" %}
{% block title %}
Search
{% endblock %} 
{% block main %}
<form action="/" method="post">
  <div class="form-group">
      <select class="form-control" name="ctrya">
          <option disabled="" selected="" value="">Country A</option>
              {% for ctrya in country_list %}
                 <option value="{{ctrya["country"]}}">{{ctrya["country"]}}
                 </option>
                <option>{{ctrya}}</option>
              {% endfor %}
       </select>
    </div>

<button class="btn btn-primary" type="submit">Compare countries</button>
</form>
{% endblock %}

0 个答案:

没有答案