【发布时间】:2014-09-03 05:17:16
【问题描述】:
我有一个博客页面,用户可以在其中添加他们的回复,而且效果很好。
我还有一个编辑功能,但它不起作用。只有第一个可以。
例如,当我提交第二个或第三个表单时,总是会提交第一个表单。但是当我提交第一个时,第二个被提交。
以下是 Jinja2 WTForms 代码
{% for item in items %}
<form method=post action="/reply/edit">
{{reply-form.content}}
<input type=submit value="Submit">
{% endfor %}
以下是调用某个路由时执行的函数(/reply/edit)
def reply_edit():
reply-form = Reply(request.forms)
if reply-form.validate():
content = reply-form.data['content']
return content
else:
return 'houston, we have a problem'
未展开时表单基本上是这样布局的
---------------------
| first form |
| |
---------------------
---------- --------
| delete | | edit |
---------- --------
---------------------
| second form |
| |
---------------------
---------- --------
| delete | | edit |
---------- --------
---------------------
| third form |
| |
---------------------
---------- --------
| delete | | edit |
---------- --------
.........
展开后也是这样
---------------------
| first form |
| |
---------------------
---------- ----------
| submit | | cancel |
---------- ----------
---------------------
| second form |
| |
---------------------
---------- ----------
| submit | | cancel |
---------- ----------
---------------------
| third form |
| |
---------------------
---------- ----------
| submit | | cancel |
---------- ----------
.........
我从昨天开始就一直在尝试,但没有成功,最终拉了我的头发。
这可能是什么问题?
【问题讨论】:
-
代码 sn-p 中缺少表单的结束元素。真实应用中也不见了?
-
@eclair 是的!我怎么错过了?!我解决了这个问题,但是忘记那个标签对我来说真的很愚蠢。希望有一个语法检查器来检查丢失的 HTML 标签,它会让生活更轻松!感谢您指出这一点:-)
标签: javascript python forms wtforms