Plone:检查表单是否已提交

时间:2012-02-17 07:03:55

标签: python forms submit plone

我正在研究Plone模板。目前我正在模板上实施搜索。模板上有一个表单,提交到同一个模板,即同一页面。

我需要启用页面的某些部分才能查看,即结果DIV,只有在页面中的表单已提交时才需要。我不确定如何检查页面是否已提交并显示页面的某些部分。

我查看了使用form.submitted的{​​{3}}链接,但实际上并没有帮助。我猜我要做的事情将在tal:condition标签中完成。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

你可以添加一个隐藏字段,例如名称为“submitedform”的名称,其值为“1”,然后创建一个条件:

request.get('submitedform', 0)

答案 1 :(得分:0)

我找到了一种方法让它发挥作用。

我使用了tal:condition并在表单提交时检查了请求对象内的数据。

要检查请求对象中的内容,只需在页面上放置以下内容:

<div tal:replace="structure request" />

注意:调用请求对象时,它会呈现可读的HTML数据版本。我们使用“结构”来防止转义HTML。

现在,就我而言,我需要检查我的搜索表单是否已提交。所以在DIV标签内部,我检查了查询字符串是否为空。以下是代码示例:

<!-- Form has been submitted -->
<div tal:condition="python:request.environ.get('QUERY_STRING') != ''"></div>

<!-- Form has not been submitted -->
<div tal:condition="python:request.environ.get('QUERY_STRING') == ''"></div>

请注意,您可以使用所需的任何变量。我只是选择使用请求对象中的QUERY_STRING

这可能不完美,但我希望它会给别人指明。