我有一个链接,当点击时,我打开一个window.open窗口,如下所示。
window.open("edit.jsp?clientId=" + clientId + "&eventId=" + eventId , 'height=600,width=800,scrollbars=1,location:no,menubar:no,resizable=1,status:no,toolbar:no');
我不希望参数传递到这里,而是我想要发帖,所以人们不能复制网址。
答案 0 :(得分:15)
您无法触发javascript弹出窗口,然后强制发布帖子请求。
三个选项:
target="_blank"
的POST表单(但这不允许您禁用菜单栏等界面元素)。在本地打开一个弹出窗口,但不指定网址。使用window.open的结果来更改文档以生成表单,然后将其发布。
var myWindow = window.open("", "", "height=600,width=800,scrollbars=1,location=no,menubar=no,resizable=1,status=no,toolbar=no");
myWindow.document.write("Write a form here and then later on trigger it");
你真的不应该这样做。如果用户复制网址不好,那么您的应用程序设计就存在缺陷。
编辑后添加:使用“空窗口”方法,但不是编写表单并触发它,而是在父级中执行XMLHTTPRequest
(使用POST) 。此请求的结果可用于填充子窗口。
答案 1 :(得分:6)
除了AJAX(jquery.load()),我会自己使用 - 以下方法如何:
<form method="post" action="edit.jsp" target="_blank">
<input type="hidden" name="clientId" value="88"/>
<input type="hidden" name="eventId" value="2"/>
</form>
target = _blank实际上会打开一个新的窗口/选项卡,将处理发布的数据。 不幸的是,你几乎无法控制新的窗户外观。
答案 2 :(得分:0)
如何使用div实现模型弹出窗口?您可以进行http post调用以加载该div / model弹出窗口的内容。您也可以使用jQuery load()方法加载div的内容。
其他一些模型弹出插件就在这里
http://jquery.com/demo/thickbox/