2014-02-13 92 views
1

新窗口/标签打开我有一个表单提交,如:如何防止表格后邮寄

<form target="_blank" id="discussionForm" method="POST" enctype="multipart/form-data" action="<%=discussionURL%>"> 

然后,我必须在最后一个提交按钮。这工作,它张贴到我的数据库,但它打开一个新的选项卡与我用来发布到数据库的服务的网址。我不想让这个新标签打开。我尝试过不同的目标,但我认为_blank会起作用。有什么建议么?

+1

删除:'target =“_ blank”' –

+1

如果我不使用target =“_ blank”,它将替换当前标签,它不会启动一个新标签。我不想让它打开任何东西。 –

+0

用户将如何知道他们已成功提交表单? –

回答

3

删除target属性,它应该没问题。

target="_blank"实际上意味着它应该在新的标签页/窗口中打开。

Documentation(请务必首先阅读的文档)

+0

如果我不使用target =“_ blank”,它将用黑屏替代当前标签(我的ReST服务的响应)。我不想让它打开任何东西。想法? –

+2

@ZachLucas你还没有说过什么是预期的行为。在这种情况下,您可以捕获表单的submit事件,阻止提交,并在后台使用AJAX发布数据。或者将表单重定向到一个隐藏的'iframe' - 这可以通过'target'属性完成,检查我链接的文档:)。 'form's默认情况下是这样工作的,他们在'action'中打开页面,所以你必须阻止它(JS)或者找到一个方法(iframe)。 – kapa

+0

谢谢!我用了一个空白的iFrame,它工作! –

1

你想,当你想显示什么提交这种形式返还给使用这个属性,但上其他page/container_blank|_self|_parent|_top|framename,我想这是构建那时候人们正在用frames来编写标记来给它一种html支持,现在使用/需要它是非常奇怪的。 “

”目标属性指定了一个名称或一个关键字,用于指示提交表单后收到的响应的显示位置。“ - W3Schools

+0

w3schools,哦不... – kapa

0

在这种情况下是没有target属性,他们可以用下面的JS加onclickonkeypress属性如下图所示:

<form action="/Account/Login" class="form" method="post" onclick="return event.shiftKey !== true;" onkeypress="return !(event.keyCode === 13 && event.shiftKey);"> </form>

onclick过滤掉任何“ shift +点击'。 onkeypress阻止'shift + enter'。