我有一个表单提交,如:
<form target="_blank" id="discussionForm" method="POST" enctype="multipart/form-data" action="<%=discussionURL%>">
然后我在最后有一个提交按钮。这是有效的,它发布到我的数据库,但它打开一个新的选项卡,其中包含我用于发布到数据库的服务的URL。我不希望打开新标签。我试过玩不同的目标,但我认为_blank会起作用。有什么建议?
答案 0 :(得分:4)
答案 1 :(得分:1)
如果您希望显示此表单的提交内容,但是在另一个page
/ container
_blank|_self|_parent|_top|framename
上显示,则我想使用此属性,我想它是在当时构建的当人们用frames
编写标记给它一种html支持时,现在使用/需要它是非常奇怪的。
“target属性指定一个名称或关键字,指示在提交表单后显示收到的响应的位置。” - W3Schools
答案 2 :(得分:0)
如果某人没有target
属性,他们可以使用以下JS添加onclick
和onkeypress
属性,如下所示:
<form action="/Account/Login" class="form" method="post" onclick="return event.shiftKey !== true;" onkeypress="return !(event.keyCode === 13 && event.shiftKey);">
</form>
onclick
过滤掉任何“shift + click”。 onkeypress
阻止'shift + enter'。
答案 3 :(得分:0)
我在这里的thread之一中添加了一个解决方案:
最近,我了解了这种情况,并进行了大量研究以查找黑客/解决方案。
解决方案-如果您可以每次放置一个窗口名称并引用相同的名称,那么浏览器将确保打开尚未打开的新选项卡,否则将刷新窗口。
示例代码段:Demo JSfiddle here
<form id="myForm" action="<URL>" method="POST" target="_blank" onsubmit="target_popup(this)">
First name: <input type="text" name="fname"/><br/>
Last name: <input type="text" name="lname"/><br/>
<button type="submit" id="btnTest"> Submit</button>
</form>
<script>
var target_popup = function(form) {
window.open('',//URL should be blank so that it will take form attributes.
'UniqueWindowName', //window name
'width=400,height=400,resizeable,scrollbars');
form.target = 'UniqueWindowName';
}
</script>
请参阅我的blog了解更多详情