contentWindow

一、在web开发中如果使用到iframe标签,并且父窗体想要调用子窗体中的js方法,那么就需要使用到contentWindow方法

具体情况如下:

case:子窗体调用父窗体的方法:window.parent.afterAdd(data);

 1     <meta name="viewport" content="width=device-width" />
 2     <title>ShowAddInfo</title>
 3     <script src="~/Scripts/jquery-1.8.2.min.js"></script>
 4     <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
 5     <script type="text/javascript">
 6         function subForm() {
 7             $("#addRoleForm").submit();
 8         }
 9         function afterAdd(data) {
10             //子窗体调用父窗体中的方法。
11             window.parent.afterAdd(data);
12         }
13     </script>
14 </head>
15 <body>                  @*处理的方法名,控制器名,额外参数                回调函数,返回成功之后的函数,            返回id的值*@
16     @using (Ajax.BeginForm("AddRoleInfo", "RoleInfo", new { }, new AjaxOptions() { OnSuccess = "afterAdd" }, new {id="addRoleForm"}))
17     {  
18         
19       @Html.AntiForgeryToken()
20         @Html.ValidationSummary(true)
21     
22         <fieldset>
23             <legend>RoleInfo</legend>
24     
25             <div class="editor-label">
26                 @Html.LabelFor(model => model.RoleName)
27             </div>
28             <div class="editor-field">
29                 @Html.EditorFor(model => model.RoleName)
30                 @Html.ValidationMessageFor(model => model.RoleName)
31             </div>
32     
33       }

js父窗体调用子窗体的方法:

1 //提交表单
2                         //调用子窗口的方法.    先获取dom对象,然后获取嵌入在子窗体的window对象。
3                         var childWindow = $("#addFrame")[0].contentWindow;//表示获取了嵌入在iframe中的子窗体的window对象。
4                         childWindow.subForm();//调用上方子窗体中的方法,完成表单的提交。

猜你喜欢

转载自www.cnblogs.com/wangjinya/p/10865298.html