layer父页获取弹出层输入框里面的值

主要是因为修改功能,原来页面填写数据如图

改为

其中点击填写明细弹出框

填写完毕后点击确认返回,同事这里因为她是存的多表,所以点击确认就直接保存数据了,改的这个功能原本保存是整体保存,我就不想改原来的逻辑,只想把填写的值带回去用隐藏控件存一下,到时候按照原来的逻辑整体存,所以没办法参考她的,最后搜索很多,解决了问题,具体代码如下:

父页面:

<div class="row">
<div class="col-md-6">
<div class="form-group PadTB10">
<label class="LabelW150">
经费来源总计(元)</label>
<input type="text" readonly="readonly" class="form-control" id="AmountSum" name="AmountSum" onkeyup="value=value.replace(/[^\d.]/g,‘‘)" placeholder="填写来源明细" value="@pro.AmountSum"/>
<input type="button" value="填写来源明细" onclick="ShowAmountDetail()" />
<input type="hidden" name="CenterAmount" id="CenterAmount" value="@pro.CenterAmount" />
<input type="hidden" name="CityAmount" id="CityAmount" value="@pro.CityAmount" />
<input type="hidden" name="DisAmount" id="DisAmount" value="@pro.DisAmount" />
<input type="hidden" name="StreetAmount" id="StreetAmount" value="@pro.StreetAmount" />
<input type="hidden" name="OtherAmount" id="OtherAmount" value="@pro.OtherAmount" />
</div>
</div>
</div>

js:

//弹出经费来源明细
function ShowAmountDetail() {
var index = layer.open({
type: 2,
title: ‘填写经费明细‘,
shadeClose: false,
skin: ‘layui-layer-rim‘,
area: [‘50%‘, ‘50%‘],
maxmin: true,
content: ‘/Project/AmountDetail?ProjectCode=‘ + "@ProjectCode",
btn: [‘确定‘, ‘关闭‘],
yes: function (index, layero) {
debugger;
var body = layer.getChildFrame(‘body‘, index); //得到iframe页的body内容
var CenterAmount = body.find("#CenterAmount").val();
var CityAmount = body.find("#CityAmount").val();
var DisAmount = body.find("#DisAmount").val();
var StreetAmount = body.find("#StreetAmount").val();
var OtherAmount = body.find("#OtherAmount").val();
if (CenterAmount == null || CenterAmount == "") CenterAmount = 0;
if (CityAmount == null || CityAmount == "") CityAmount = 0;
if (DisAmount == null || DisAmount == "") DisAmount = 0;
if (StreetAmount == null || StreetAmount == "") StreetAmount = 0;
if (OtherAmount == null || OtherAmount == "") OtherAmount = 0;
sum = Number(CenterAmount) + Number(CityAmount) + Number(DisAmount)
+ Number(StreetAmount) + Number(OtherAmount);
document.getElementById("CenterAmount").value = CenterAmount;
document.getElementById("CityAmount").value = CityAmount;
document.getElementById("DisAmount").value = DisAmount;
document.getElementById("StreetAmount").value = StreetAmount;
document.getElementById("OtherAmount").value = OtherAmount;
document.getElementById("AmountSum").value = sum;

//最后关闭弹出层
layer.close(index);
},
cancel: function () {
//右上角关闭回调
}
});
// layer.full(index);
}

子页面:

<!DOCTYPE html>

<html>

<head>
<meta name="viewport" content="width=device-width" />
<title>AmountDetail</title>
</head>
<body>
<div>
<table class="table table-bordered ">
<tr><td rowspan="5" style="text-align: center; vertical-align: middle;">经济来源明细</td><td>中央拨款(元)</td>
<td>
<input id="CenterAmount" class="form-control" onkeyup="value=value.replace(/[^\d.]/g,‘‘)" name="CenterAmount" type="text" />
</td></tr>
<tr><td>市级专款(元)</td>
<td>
<input id="CityAmount" class="form-control" onkeyup="value=value.replace(/[^\d.]/g,‘‘)" name="CityAmount" type="text" />
</td></tr>
<tr><td>区级资金(元)</td>

<td>

<input id="DisAmount" class="form-control" onkeyup="value=value.replace(/[^\d.]/g,‘‘)" name="DisAmount" type="text" />
</td></tr>
<tr><td>街镇配套(元)</td>
<td>
<input id="StreetAmount" class="form-control" onkeyup="value=value.replace(/[^\d.]/g,‘‘)" name="StreetAmount" type="text" "/>
</td></tr>
<tr><td>其他(元)</td>
<td>
<input id="OtherAmount" class="form-control" onkeyup="value=value.replace(/[^\d.]/g,‘‘)" name="OtherAmount" type="text" />
</td></tr>
</table>
</div>
</body>
</html>

原文地址:https://www.cnblogs.com/fkcxy/p/9253846.html

时间: 2024-10-10 08:17:14

layer父页获取弹出层输入框里面的值的相关文章

关闭当前的子窗口,刷新父窗口,弹出层提示框

近期,在做后台的管理页面,为了有更好的用户体验,需要实现关闭当前页面,刷新父窗口,在网上查找方法,如下: JS代码如下: <script>  function refreshParent() {   window.opener.location.href = window.opener.location.href;   window.close(); } </script> html页面代码如下: <input type="button" id="

在vue中继续使用layer.js来做弹出层---切图网

layer.js是一个方便的弹出层插件,切图网专注于PSD2HTML等前端切图多年,后转向Vue开发.在vue开发过程中引入layer.js的时候遇到了麻烦.原因是layer.js不支持import导入,这时就需要修改一下它的源码.在看过它的源码后,发现需要修改的地方只有两处, 源码中已经暴露了一个全局变量layer,故只需在脚本末尾处添加 export default layer; 这表示将这个全局变量导出. 然后在文件中找到下面的代码注释掉,这段代码是为layer添加样式的,但使用的路径不对

权限管理系统之LayUI实现页面增删改查和弹出层交互

由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一项目,设计风格都差不多,对于涉及单个数据表的页面,基本都是增删改查,布局都是差不多,实际项目中都是复制.粘贴过来改下数据基本就能完成80%,后续就是修修补补或者是要实现一些特殊需求,记得刚参加工作时,老大直接给了一个已经做好的模板页面让我比对着手动敲一遍,当时觉得重复操作没啥用,现在再看觉得作用很大

layui弹出层type=2无法正常验证问题

思路:在弹出层页面form表单中增加一个隐藏的提交按钮,当弹出层点击确定按钮时,触发弹出层页面中的隐藏按钮,触发提交校验 弹出层脚本如下: function LoadDemo(id) { layer.open({ title: '弹出层标题', //弹出层标题 type: 2, content: 'demo.shtml', btn: ['确定', '关闭'], area: ["650px", "550px"], success: function (layero,

一组li或者div里面多个弹出层对应各自的内容

今天在一个做一个页面开发的时候发现了这个需求,简单的给大家描述一下我的使用环境: 射鸡师要求点击每一个卡片上的查看更多需要弹出各自的内容: 可能有同学会说了,每个卡片下面写一个div当做弹出层就ok了.从效果上说,这样的方法是可以实现的,但是他存在以下的弊端: 1.代码量臃肿 2.工作量成倍增长 3.不方便维护 ... 我的实现原理和方法: 需要弹出的内容,我直接将他们存在json中去,然后点击的那一个“查看更多”遍历对应的json,将内容插入到弹出中即可,这样也只是需要些一个弹出层div!可能

解决弹出层打印问题

jsp页面使用了一个layer插件来做弹出层:并且要求打印弹出层里面的内容. 直接使用window.print()方法打印不出所有的页面内容,仅仅是打印了当前屏幕内容. 我的解决办法是 获取body中所有代码,新建一个空白页面,调用document.write()方法写入, 再打印该页面,实现了正常的分页打印效果. function print(){ var bd=document.body.innerHTML; w=window.open('about:blank'); w.document.

jQuery点击弹出层,弹出模态框,点击模态框消失

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 <!DOCTYPE html>

【转载】jQuery弹出层始终垂直居中于当前屏幕

一般网站上肯定有一些弹出框,不论弹出框的大小,都需要他在当前窗口垂直居中.之前手上就有一个jQuery的例子,后来才发现,他只能在第一屏垂直居中,如果滑动滚动条,弹出的框就在上方,不是很方便.请教朋友后稍作修改,成了现在的例子. 代码分析 注释已经写得很清楚了,看得懂jQuery的应该都看得懂 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 function popup(popupName){     var _scrollHeight = $(docu

简易网页弹出层

今天写了一个简易的弹出层,为了以后工作能够重复使用,特地整理了一下. 首先,添加弹出层,赋id为tip_box<div id="tip_box"> <div id="close_box">x</div> <p>弹出层内容</p></div> 在HTML中调用box()函数 <a href="javascript:void(0)" onclick="box()&