zoukankan      html  css  js  c++  java
  • 网页弹出窗附带参数的实现

         工程中有很多地方需要用到弹出窗体,而这些窗体不仅仅只是弹出一张静态界面,需要附加参数我们都知道window.open()函数就是jsp里弹出窗体的函数,下面利用这个函数用两种方法实现弹出带参数的窗体。之前也写过一个,但表述不够清楚,这里重新整理了下发表出来

      第一种适用于访问后台但不向后台传递参数的方法。js函数简单的一句话就可以实现:

      function ShowAppCenter(){
      window.open("appresume","showAppResume",'height=550, width=650, top=100, left=300, toolbar=no,' +
      'menubar=no,scrollbars=no,resizable=no,location=no,status=no,alwaysRaised=yes,titlebar=no,toolbar=no,alwaysRaised=yes');
      }

      这里的"appresume" 代之struts2 里面action的名字,我们知道struts2 的action 会具体映射java类的某一方法,因此通过这个映射我们访问后台后再根据struts2的返回配置

    result 就可以实现访问后台后跳转我们的目的界面。struts2 配置展示如下:

        <action name="appresume" class="com.hrbourse.application.action.InitAppAction"
        method="showAppResume">
        <result >/WEB-INF/applicant/resume_centre/AppResume.jsp</result>
        <result name="test">error.jsp</result>
       </action>

       我们在InitAppAction 这个类里面可以做一些查询或者删除的工作,然后跳转到AppResume.jsp这个前台界面,这样我们就可以在跳转到的界面AppResume.jsp显示需要的数据了。

        第二种使用于访问后台并且向后台传递参数,第二种方法原理是在js 函数里面构造表单 以及模拟表单提交的方式提交到后台处理类,然后根据返回结果返回我们想要跳转到的界面。

    function addEduSpe1(indid){
        var tempForm = document.createElement("form");    
         tempForm.id="tempForm1";    
         tempForm.method="post";    
         tempForm.action="${pageContext.request.contextPath}/skiptochangeind.action";    
         tempForm.target="offer";   
         var hideInput = document.createElement("input");    
         hideInput.type="hidden";    
         hideInput.name= "indid"  
         hideInput.value= indid;  
         tempForm.appendChild(hideInput);     
         document.body.appendChild(tempForm);    
          $("#tempForm1").bind("submit",function(){
         openIndWindows();
             });
           $("#tempForm1").submit();
         document.body.removeChild(tempForm);  
            
    }
    function openIndWindows(){
         window.open('',"offer",'height=550, width=950, top=100, left=300, toolbar=no,' +
         'menubar=no,scrollbars=no,resizable=no,location=no,status=no,alwaysRaised=yes,titlebar=no,toolbar=no,alwaysRaised=yes');  
    }

      这里需要使用两个方法,addEduSpe1(inid),这个方法点击触发的直接方法,这里就构造了一个form 表单“tempForm ”注意参数  tempForm.target="offer";   该

    “offer”为弹出窗体句柄,这个句柄和回调方法 openIndWindows()中window.open()中的第2个参数保持一致。这里构造隐藏域hideInput,设置其值为所要传递的参数,name为与后台对应的属性,绑定提交事件触发的回调函数,也就是打开窗体的函数openIndWindows,之后模拟提交,注意这里采用jquery的方式是为了兼容浏览器的需要,因此调用这个函数之前需要引入jquery插件。window.open()最后的参数是设置所弹出窗体的样式,具体参数的对应可以从网上查询。

         

  • 相关阅读:
    HDU 2196 Computer (树形DP)
    HDU 4756 Install Air Conditioning (MST+树形DP)
    HDU 4126 Genghis Khan the Conqueror (树形DP+MST)
    HDU 4714 Tree2cycle (树形DP)
    HDU 1159 Common Subsequence (LCS)
    HDU 2159 FATE (二维背包)
    HDU 2602 Bone Collector (01背包DP)
    HDU 5918 Sequence I (KMP)
    关于一些逗逼函数//atoi,itoa,strtok,strupr,
    二叉树—-1(No.9HN省赛小题)
  • 原文地址:https://www.cnblogs.com/wq123/p/3122733.html
Copyright © 2011-2022 走看看