通过广播/复选框操作表单自动提交(Python Flask)

时间:2016-07-20 15:51:37

标签: jquery python forms flask submit

我目前正在使用仪表板工具。在这里,我使用Python来浏览数据帧,并根据数据创建过滤器。我有以下代码作为示例输出:

<form name="FormYear" method="post">
  <div class="panel">
    <div id="checkboxes">
      <div class="filterdiv">
        Forecast Year
        <button class="filterButton clearfilter" type="submit" name="submit" value="clearFilterYear">
          <i class="glyphicon glyphicon-remove"></i>
        </button>
        <button class="filterButton filter" type="submit" name="submit" value="filter">
          <i class="glyphicon glyphicon-filter"></i>
        </button>
      </div>
      <input value = "1" type="hidden" name="FormYear"> 
      <input type="radio" name="Year" id="Year2016" value="2016" checked class="checkbox" >
      <label class="checkboxLabel" for="Year2016">2016</label>  
      <input type="radio" name="Year" id="Year2017" value="2017"  class="checkbox" >
      <label class="checkboxLabel" for="Year2017">2017</label>  
      <input type="radio" name="Year" id="Year2018" value="2018"  class="checkbox" >
      <label class="checkboxLabel" for="Year2018">2018</label> 
    </div>
  </div>
</form>

上面的代码包含2个提交按钮(一个用于提交选择,一个用于清除所有选择)和3个radiobuttons。为了设置单选按钮的样式,我正在使用标签和CSS。

仪表板将包含许多此类表单,我希望只要用户选中复选框或单选按钮,就可以提交表单。

基本上,每当用户更改过滤器时,我都需要让网站点击第二个按钮。

可以这样做吗?

1 个答案:

答案 0 :(得分:0)

您可以使用Flask-Sijax,它可以帮助您为Flask应用添加Sijax支持。 Sijax是一个易于使用的AJAX库。

@flask_sijax.route(app, '/hello')
def hello():
   def say_hi(obj_response):
      obj_response.alert('Hi there!')
   if g.sijax.is_sijax_request:
      # Sijax request detected - let Sijax handle it
      g.sijax.register_callback('say_hi', say_hi)
      return g.sijax.process_request()
      return _render_template('sijaxexample.html')