父子页面传值的问题

父页面
<html>
<head>
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function opendialog1()
{
var someValue=window.showModalDialog("b.html","","dialogWidth=500px;dialogHeight=500px;status=no;help=no;scrollbars=no");
document.form1.p1t.value=someValue;
}

</script>
</head>
<body>
<form name="form1" action="#">
<input type="text" name="p1t">
<input type="button" value="打开对话框" οnclick="opendialog1()">
</form>
</body>
</html>


子页面
<html>
<head>
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function a(wname)
{
parent.window.returnValue=wname; //父窗口就是上一个页面
window.close();
}
</script>
</head>
<body>
<form name="form1" action="">
<input type="button" value="传值" οnclick="return a('hello')">
</form>
</body>
</html>
### 使用 `layer.open` 实现父子页面 #### 获取父页面到子页面 当使用 `layer.open` 打开一个新的弹出层时,可以通过 JavaScript 访问父页面中的 DOM 元素来获取数据。具体来说,在子页面中可以利用如下方式读取来自父页面的数据: ```javascript var subcode = parent.$("#sub").val(); // 通过parent访问父页面jQuery对象并取得ID为'sub'元素的value属性[^1] ``` 这段代码展示了如何在一个由 `layer.open` 创建的新窗口内执行脚本以获得其上级(即打开它的那个)网页上的特定输入框的内容。 #### 子页面向父页面 对于从子页面返回信息给父页面的情况,则可以在子页面里操作父页面DOM结构或调用定义好的函数来进行通信。下面是一个例子说明怎样修改父页面上某个具有唯一标识符 (`father_dataChange`) 的 div 内容: ```javascript $("#father_dataChange", window.parent.document).html("变咯……"); // 修改父页面指定区域的文字显示[^3] ``` 此行命令会找到当前文档上下文中名为 "father_dataChange" 的 HTML 节点,并将其内部HTML设置成新的字符串内容 `"变咯……"` ,从而实现了子页面对父页面的信息反馈功能。 另外一种更灵活的方式是在子页面触发事件或者直接调用父页面的方法来完成交互过程。比如在父亲页面预先设定好接收参数的方法: ```javascript // father.html 中预设方法 function receiveDataFromChild(data){ alert('收到子页面来消息:' + data); } ``` 而在子页面则可以直接这样调用来发送信息回去: ```javascript parent.receiveDataFromChild('这是要输的消息'); ``` 这种方法不仅限定了接口形式还便于维护和扩展应用逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值