使用Javascript表单操作设置窗口大小

时间:2009-06-05 07:33:32

标签: javascript

我有一个页面,我获取会话值,然后通过javaScript调用表单操作,请参阅下面的代码

<%@ Page language="c#" AutoEventWireup="false" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
<html>
  <head>
    <title>SessionRedirect</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name=vs_defaultClientScript content="JavaScript">
    <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
  </head>
  <body MS_POSITIONING="GridLayout">    
    <form method="post" name="frmRedirect" target="_blank">   
        <input type="hidden" name="email" value="<%=Session["Email"].ToString() %>" />
        <input type="hidden" name="pass" value="<%= Session["PWD"].ToString() %>" />
        <input type="hidden" name="User" value="<%= Session["User"].ToString() %>" />
     </form>
<script type="text/javascript"> 
    if(frmRedirect.User.value == "P")
        {      
        frmRedirect.action = "http://cmsstag/partnerzone/index.aspx";       
      }
    else
        frmRedirect.action = "http://cmsstag/studentportal/index.aspx";

    document.frmRedirect.submit(); 
    location.replace("index.aspx");

</script>
<%
            Session.Remove("registration");
            Session.Remove("User");
            Session.Remove("UserId");
            Session.Remove("UserLoggedIn");
            Session.Remove("AgentCode");
            Session.Abandon();
%>  
  </body>
</html>

现在,当我使用上面代码中使用的“frmRedirect.action”时,我想在新窗口中打开页面,其大小由我给出。

1 个答案:

答案 0 :(得分:3)

这是一个相当复杂的例子。 您可以尝试的是:

  1. 首先使用javascript window.open()打开一个新窗口并设置其尺寸和名称
  2. 将表单提交给它,并在window.open()
  3. 中设置正确的目标名称

    我试过了。它有效。

    修改
    这是给你的代码。也许您必须在打开新窗口和提交表单之间设置一些时间以确保窗口已经创建(使用setTimeout)。

    // open a new window with proper size    
    window.open("", "MySubWindow", "height=480,width=640");
    
    // do your action assignments
    
    frmRedirect.target = "MySubWindow";
    frmRedirect.submit();
    location.replace("index.aspx");