js传值到iframe中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js传值到iframe中相关的知识,希望对你有一定的参考价值。
ifrme页面里怎么取到父页面js里面的值,或者说怎么把父页面js的值传到iframe页面里去
jsp页面
a>window.parent.document这个是获取父页面document中的对象;
b>如果要获取父页面js中的方法:window.parent.xxxx();xxxx()为方法;
2.在父页面中获取iframe子页面中的元素:
a>
var child = document.getElementByIdx_x("mainFrame").contentWindow;//mainFrame这个id是父页面iframe的id
child.document;//获取子页面中的document对象; 参考技术A var obj = parent.window.document.getElementById('elementId');
这样就能拿到父页面的元素值了本回答被提问者采纳 参考技术B <div id="chuanti"></div>
<script >
var id="123456";
var str='<iframe id="alimamaifrm" frameborder="0" marginheight="0" marginwidth="0" border="0" scrolling="no" width="620" height="400" src="http://'+document.domain+'/www/admin/dialog.php?action=label&id='+id+'" ></iframe>';
$("#chuanti").html(str)
</script>追问
这种方法试过了,参数长度是有限制的,应该是2K吧, 现在就想知道除了这种台参数的值外,是否还可以另外传值
追答提交到数据库里
接到ID 在查询出来。 多长都行啦
基于iframe父子页面传值的方法。
之前项目中用layer.js作为弹窗的框架,发现layer.js中大部分弹窗都是通过iframe模拟的。为此,在项目中遇到了不少坑。印象最深的就是父子页面传值的问题。后面经过一段时间的研究。总结出以下几种方法:
一、在子页面的js中直接使用parent获取父级页面中的对象方法。如:
$(document).ready(function(){ $("#people_add_cardActiveTime").text(laydate.now(0, ‘YYYY-MM-DD 00:00:00‘)); $("#people_add_cardEndTime").text(laydate.now(0, ‘YYYY-MM-DD hh:mm:ss‘)); $.selectTime(‘people_add_cardActiveTime‘); $.selectTime(‘people_add_cardEndTime‘); if(parent.people_manager.editStus ==1){ var starTime = parent.people_manager.starTime; var endTime = parent.people_manager.endTime; $("#people_add_cardActiveTime").val(starTime) $("#people_add_cardEndTime").val(endTime) }else{ $("#people_add_cardActiveTime").val("") $("#people_add_cardEndTime").val("") } })
//要注意的是,在parent过去之后,为了方便,我们一般是获取其全局对象下的方法或对象。
二、通过地址传入参数,该方法稍显复杂;首先要在父页面将参数添加到子页面链接后面,然后在子页面接收的时候,获取到页面链接解析后面传入的参数。
三、直接在父页面通过find方法查找子页面元素,然后赋值:
index = layer.open({ id: "pop_div_fingerEdit", title: "指纹信息修改", type: 2, area: [‘400px‘, ‘300px‘], content: "./cardManager/fingerEdit.html", success: function (layero, index) { var body = layer.getChildFrame("#pop_div_fingerEdit", index); $peopleid = $peopleid? $peopleid : "无" body.contents().find("#peopleID").val($peopleid); body.contents().find("#fingerID").val($id); var obj = body.contents().find("#stus").find("option")//.attr("selected","selected"); $(obj).each(function(i,v){ if($($(obj)[i]).attr("value")==stu){ $(this).attr("selected","selected") } }) } })
$(document).ready(function(){ $("#people_add_cardActiveTime").text(laydate.now(0, ‘YYYY-MM-DD 00:00:00‘)); $("#people_add_cardEndTime").text(laydate.now(0, ‘YYYY-MM-DD hh:mm:ss‘)); $.selectTime(‘people_add_cardActiveTime‘); $.selectTime(‘people_add_cardEndTime‘); if(parent.people_manager.editStus ==1){ var starTime = parent.people_manager.starTime; var endTime = parent.people_manager.endTime; $("#people_add_cardActiveTime").val(starTime) $("#people_add_cardEndTime").val(endTime) }else{ $("#people_add_cardActiveTime").val("") $("#people_add_cardEndTime").val("") } })
以上是关于js传值到iframe中的主要内容,如果未能解决你的问题,请参考以下文章