【问题标题】:How to retain use selected option in radio buttons?如何在单选按钮中保留使用选定的选项?
【发布时间】:2021-06-08 03:11:29
【问题描述】:

我有一个文本表单,它使用两个选项的单选按钮。例如,默认情况下会检查“完全匹配”。但是,只要单击“提交”,该选项就会恢复到默认部分,这是不希望的。我想保留用户当前选择的单选选项,而不是默认选项。

<form class="search" action="{{ url_for('nlp.wbkg') }}" method="post">

        <input name="query" type="text" id="query" value="{{query}}" autocomplete="on" required>
        <button type="submit"><i class="fa fa-search"></i></button>
        <div>
       
        </div>
        <div>
        <input type="radio" name="options" id="exact" value="exact" checked="checked"> Exact match </input>
        <input type="radio" name="options" id="fuzzy" value="fuzzy"> Fuzzy Match </input>
        </div>
    </form>

如何达到这个效果?

编辑:在烧瓶中添加我的服务器端代码:

@bp.route('/wbkg', methods=('GET', 'POST'))
def wbkg():
    if request.method == 'POST':
        query = request.form['query']
        search_type = request.form['options']
       
        results, terms = search(query, search_type)
           
        return render_template('nlp/wbkg.html', items=results, terms=terms, query=query)

        flash(error)

    return render_template('nlp/wbkg.html')

服务器端如何处理?

【问题讨论】:

  • 处理表单时做服务器端
  • @charlietfl 我添加了我的服务器端代码。如何在服务器端做到这一点?

标签: javascript html flask jinja2


【解决方案1】:

由于您将元素包装在表单标记中,因此您应该确保让您的提交处理程序运行 event.preventDefault() 以防止在触发提交后重置表单。在发送 API 调用后,您可能会看到表单的重置。您可以通过查看您的 REQ 正文来确认发送的数据是否正确。

【讨论】:

  • 除非 OP 实现了 ajax 提交,否则如果您 p​​reventDefault 将不会调用 api。没有迹象表明这里发生了这种情况
  • 如果可能的话,如何在前端使用ajax实现?我是新手。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
  • 2013-04-03
  • 2023-03-17
相关资源
最近更新 更多