【发布时间】:2015-01-02 02:42:18
【问题描述】:
在我看来,我有几种不同的形式。在一个中,您输入要搜索的名字和姓氏。如果有结果,页面会刷新,用于选择用户的第二个表单会显示为表格,单击一行会提交该行的数据。出于某种原因,提交第二个表单会导致为每个字段提交两个值:一个完全为空,另一个包含正确的信息。
我有一些 javascript 会在点击表格中的一行时执行。它应该用表格中的数据填写并提交一个隐藏的表格。我遇到的问题是提交表单时,提交了两组值。表单提交后的 request.form 包含以下内容:
ImmutableMultiDict([('csrf_token', u'1420171907##6ad5346730985191250a52e6432e924ef05c23ee'), ('last_name', u''), ('last_name', u'Smith'), ('first_name', u''), ('first_name', u'John')])
这是脚本:
$('table#theTable tr').click(function () {
var cells = this.getElementsByTagName('td');
$('#selectuser_last_name').val(cells[0].innerHTML);
$('#selectuser_first_name').val(cells[1].innerHTML);
document.selectuser.submit();
});
下面是与之配套的 HTML:
<table id="theTable">
<thead>
<tr>
<th>Last</th>
<th>First</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{ user.last_name }}</td>
<td>{{ user.first_name }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<form id=selectUserForm action="/handle_users" method="post" name="selectuser">
{{ forms.selectuser.hidden_tag() }}
{{ forms.selectuser.last_name(id="selectuser_last_name") }}
{{ forms.selectuser.first_name(id="selectuser_first_name") }}
<input type="submit">Test</input>
</form>
我正在使用 Python 和 Flask 来处理发布的任何内容。
【问题讨论】:
标签: javascript python flask wtforms flask-wtforms