Window.Open POST

时间:2011-04-05 16:06:43

标签: javascript jquery post popup window.open

我有一个链接,当点击时,我打开一个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');

我不希望参数传递到这里,而是我想要发帖,所以人们不能复制网址。

3 个答案:

答案 0 :(得分:15)

您无法触发javascript弹出窗口,然后强制发布帖子请求。

三个选项:

  1. 使用javascript触发包含target="_blank"的POST表单(但这不允许您禁用菜单栏等界面元素)。
  2. 在本地打开一个弹出窗口,但不指定网址。使用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");
    
  3. 你真的不应该这样做。如果用户复制网址不好,那么您的应用程序设计就存在缺陷。

  4. 编辑后添加:使用“空窗口”方法,但不是编写表单并触发它,而是在父级中执行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://api.jquery.com/load/

其他一些模型弹出插件就在这里

http://jquery.com/demo/thickbox/

http://colorpowered.com/colorbox/

http://fancybox.net/