在我看来,我有几种不同的形式。在其中一个中,输入要搜索的名字和姓氏。如果有结果,页面将刷新,用于选择用户的第二个表单将显示为一个表,在该表中,单击一行可提交该行中的数据。出于某些原因,提交第二个表单会导致为每个字段提交两个值:一个完全为空,另一个包含正确的信息。在
我有一些javascript将在单击表中的行时执行。它应该用表中的数据填写并提交一个隐藏的表单。我遇到的问题是,提交表单时,会提交两组值。请求.窗体表格提交后包含以下内容:
ImmutableMultiDict([('csrf_token', u'1420171907##6ad5346730985191250a52e6432e924ef05c23ee'), ('last_name', u''), ('last_name', u'Smith'), ('first_name', u''), ('first_name', u'John')])
脚本如下:
^{pr2}$下面是与之配套的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提交的,前者是通过表单提交机制提交的)。在
如果用户实际上没有在表单中输入任何内容,但这是在任何时候单击一行时对服务器的简单调用。跳过整个表格,这没用。只需向服务器发送一个包含所需信息的呼叫-可以是一个简单的ajax帖子:
然后使用/handle\u users路径中的
request.get_json()
从flask获取数据。在相关问题 更多 >
编程相关推荐