layui 如果調用 from 內嵌入的 iframe子頁面方法


(人笨,占時想法的辦法,不要罵,不要罵,怕了怕了,想到別的會來改的)

父頁面;

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> 
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title><!-- keep on record  備案 --></title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <link rel="stylesheet" href="<%=basePath %>base/layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="<%=basePath %>base/layuiadmin/style/admin.css" media="all">
    
  </head>
<body> 
    <div class="layui-fluid"><!-- 布局容器 -->
        <div class="layui-row layui-col-space15"> <!-- 列間距 -->
            <div class="layui-col-md12"><!-- 列元素 -->
                <div class="layui-card"><!-- 卡片面板 --> 
                    <div class="layui-card-body" style="padding: 15px;">
                        <form class="layui-form" action="" lay-filter="keep-on-record">
                            
                            <div class="layui-collapse">
                                <div class="layui-colla-item">
                                    <h2 class="layui-colla-title">提交資料自檢</h2>
                                     <div class="layui-colla-content layui-show">
                                        <iframe  name="receiving" lay-filter="receiving" id="receiving" src="projects/Post_certificate/Head.jsp?id=<%=id %>" style="width: 100%; height: 86%;"></iframe>
                                    </div>
                                </div>
                            </div> 
                            <div class="layui-form-item layui-layout-admin">
                                <div class="layui-input-block">
                                    <div class="layui-footer"  style="left: 0;"> 
                                        <button type="button" class="layui-btn" id="save">保存</button>     
                                        <button type="reset" class="layui-btn layui-btn-primary" id='close'>關閉</button>
                                    </div>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>


<script src="<%=basePath %>base/layuiadmin/layui/layui.js"></script> 
</body>
  <script>
  // 當你使用表單時,layui 會對 select、checkbox、radio 等原始元素隱藏,從而進行美化修飾處理。但這需要依賴於 form 組件,所以你必須加載 form,並且執行一個實例
  layui.use(['form','laydate','element'], function(){
      var $ = layui.$;
      var form = layui.form //只有執行了這一步,部分表單元素才會自動修飾成功
      ,element = layui.element
      ,laydate = layui.laydate
      ,layer = layui.layer
      ,layero = layui.layero; 
      
      
      $('#save').click(function(){    
          console.log("----");
          var childWindow = $("#receiving")[0].contentWindow;
          //childWindow.bridging();  
        /* 調用 Head.jsp 下的  bridging (), 
此方法是外部方法,還需在 Head.jsp 下編寫方法 調用 layui.use() 內的方法 ,
因為 需要獲得 Head.jsp 內的表單數據,
也可以在 Head.jsp 外部的方法獲得表單 數據*/

  //修改2021.02.24 // 直接調用全局方法
   childWindow.cs(); }); }); </script> </html>

子頁面:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 

%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title><!--   --></title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <link rel="stylesheet" href="<%=basePath %>base/layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="<%=basePath %>base/layuiadmin/style/admin.css" media="all">
    
  </head>
<body> 
<form class="layui-form" action="" lay-filter="header-information">
    <!-- 吧啦吧啦 的 表單內容 -->
</form> 
<script src="<%=basePath %>base/layuiadmin/layui/layui.js"></script> 
</body>
  <script>
  // 當你使用表單時,layui 會對 select、checkbox、radio 等原始元素隱藏,從而進行美化修飾處理。但這需要依賴於 form 組件,所以你必須加載 form,並且執行一個實例
  layui.use(['form','element'], function(){
      var $ = layui.$;
  var form = layui.form //只有執行了這一步,部分表單元素才會自動修飾成功
  ,element = layui.element;
   
  window.head2 = function () {  // 寫一個全局方法
      console.log("進入內部");
  };  
  
window.cs=function(){
  console.log("進入內部");
}
function head(){ //獲取表單區域所有值 var data = form.val("header-information"); console.log(data); } }); function bridging(){ //console.log("--------------"); head2(); // 調用全局方法 } </script> </html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM