【问题标题】:can't use request.form.get get the form table contents in flask无法使用 request.form.get 获取烧瓶中的表格内容
【发布时间】:2015-02-12 08:53:22
【问题描述】:

网页有表格和内表:

<form method="post" action="{{ url_for('data.dataupdate',username=current_user.name,tablename=ddatatablename) }}">
<table class="table table-striped" id="table1" name="datatable">
<thead>
<tr>
<td bgcolor="#dcdcdc"><input type=checkbox name=select_all value="all"  onclick="CheckAll(this.form)"></td>
</tr>
</thead>
{% if ddatas_perpage %}
<tbody name="datas">
{% for item in ddatas_perpage %}
<tr name="table">
<td><input type=checkbox name=select value={{ item.sn }} ></td>
<td class="text-info" name="tabletd" value={{ item[col] }} ><textarea>{{ item[col] }}</textarea></td>

view_function 是:

@data.route('/datas/edit/<username>/<tablename>/updatesuccess',methods=['GET','POST'])
def dataupdate(username,tablename):
    selected = request.form.getlist("select")
    ttt = request.form.getlist('datatable')
    tttt = request.form.get('datatable')
    ttttt = request.form.getlist('td')
    tttttt = request.form.get('tablename')
    datas = request.form.get("datas")
    tables = request.form.get("table")
    tabletds = request.args.get("tabletd")

    f = request.form
    flash("#######################",f.keys())
    for key in f.keys():
        flash(key)
        for value in f.getlist(key):
            flash(key+":"+value)
    flash(ttt)
    flash(tttt)
    flash(ttttt)
    flash('############',tttttt)
    flash(selected)
    flash(datas)
    flash(tables)
    flash(tabletds)
    cases = UserCase.query.filter_by(username=username).all()
    session['loginname']=username
    if cases is not None:
        return render_template('data/usercase.html', ccases=cases)

当我提交表单时,只有复选框可以使用 request.form.getlist("select") 获取值,但表中的其他内容为 None。

为什么它没有得到表格内容而是复选框? 我使用 request.form.get 或 request.args.get 得到相同的结果,尤其是使用 request.form 获取键仅包含复选框键 [选择]。 我想获取 web 表内容并更新到数据库表。在 Flask 中我该怎么做??

【问题讨论】:

  • 你为什么认为那些其他的价值观会存在?模板中唯一实际的表单元素是名称为“select”的复选框。
  • 提交表单时,只有inputselecttextareabutton字段会发送到服务器。
  • @dirn 你的评论应该是一个答案。这很有帮助,而且信息不是到处都能找到。

标签: jquery python forms flask flask-wtforms


【解决方案1】:

似乎没有任何其他表单输入,除了复选框您提供了name 属性。如果您发现自己想从 textareas 获取值,请尝试在它们上指定名称。

【讨论】:

    猜你喜欢
    • 2019-04-26
    • 2017-10-18
    • 2019-09-29
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多