使用提交制作表单标签不会打开新的页面/窗口

时间:2014-01-29 07:44:37

标签: python html cherrypy

因此,有一个form标记用法的普通示例:

<form name="form_name" action="${url}" method="POST">`
    <input type="text" name="email_input" id="email_input" class="input">
    <input type="submit" name="send" class="send_ticket">
</form>

你怎么看,我在动作价值和Python网络框架CherryPy中使用Mako。 所以,这段代码工作正常:我按下按钮,数据被发送到服务器,然后打开一个新的选项卡。但我没有在我的浏览器中显示新选项卡而重新设置。我想留在我当前的标签页上。

我该怎么办?感谢。

2 个答案:

答案 0 :(得分:1)

由于您完全改变了我的问题,我正在更新我的答案。

默认情况下,所有表单帖子都在同一个浏览器窗口中发生

你所描述的对我来说似乎是一种非常不正常的行为。您是否在弹出窗口中显示表单,例如colorbox或jquery对话框而没有提及它?还是一个iframe?

如果没有,您可以尝试将target="_self"添加到表单标记中,但请注意它已被弃用,并且不会被所有浏览器支持。

<form name="form_name" action="${url}" method="POST" target="_self">`
    <input type="text" name="email_input" id="email_input" class="input">
    <input type="submit" name="send" class="send_ticket">
</form>

最后,您可以尝试使用Ajax发布表单数据,而不必强制新页面加载。

Here is a nice Tuts+ tutorial about Ajax form post.

希望这有帮助!

答案 1 :(得分:0)

使用redirectToRoute函数解决此任务。