实现接受全由代码生成的页面传值与接收

本文介绍了一种使用ASP结合JavaScript实现数据库信息更新的方法。具体步骤包括从数据库读取代码并添加JavaScript函数来初始化表单字段,以及在接收页面处理来自用户的输入并更新数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最重要的:  在由数据库读得代码后如:一输入框后,在最后加以下函数

<script language="javascript">
function chushihua()
{

<%
   for i=1 to ts 
   
  z=replace(zhi(i),vbcrlf,"") //此句实现替换其中的回车副
  response.Write "document.xghy." & ming(i) & ".value=" & "'" &  z & "';"   //在js中打出相当与添加一条js命令

 next
%> 
}

chushihua();
</script>

在接收页从数据库读得名称后:

zh=request("zhanghao")
mm=request("mima")

Set rs= Server.CreateObject("ADODB.Recordset")
sql="select shuxingkz.mingcheng from shuxingkz,shuxing where shuxing.guanlizh='" & zh & "' and shuxingkz.mingcheng=shuxing.mingcheng order by weizhi "
rs.open sql,conn,1,1
ts=cint(rs.RecordCount)

for i=1 to ts
 xg="update shuxing set zhi='" & request(rs(0)) & "' where guanlizh='" & zh & "' and mingcheng='" & rs(0) &"'" //分条显示比较强悍`````
 conn.Execute xg
 'response.Write  "<BR>" & xg
rs.movenext
next

 

gm="update guanli set mima='" & mm & "'where zhanghao='"  & zh &"'"

conn.Execute gm

 

 

个人签名:烟台网站制作    烟台网站建设  烟台网络公司

<think>嗯,用户想了解如何使用postMessage实现页面和子页面之间的互相,需要具体的示例教程。首先,我需要回忆一下postMessage的基本用法和相关参数。记得postMessage是HTML5引入的跨源通信方法,允许不同源的窗口之间递数据,比如父页面和iframe里的子页面。 首先,应该分步骤讲解父页面向子页面,以及子页面向父页面的两种情况。每个步骤都需要代码示例,这样用户更容易理解。同时,要确保代码中的关键部分,比如postMessage的调用和message事件的监听,都要突出显示。 然后,用户提供的引用中有几个例子,比如引用2中的父页面发送数据到iframe,以及子页面用parent.postMessage发送消息。这些可以作为示例的基础。需要检查这些代码是否正确,是否符合最佳实践,比如目标origin是否应该用具体的域名而不是'*',但考虑到示例的简洁性,可能暂时用'*',但最好在说明中提到安全性问题。 接下来,可能需要详细说明postMessage的参数,比如data、origin等。例如,父页面调用contentWindow.postMessage方法,而子页面通过window.parent.postMessage发送消息。接收方则通过addEventListener('message', handler)来监听消息。 另外,用户可能还关心如何确保安全性,比如验证origin和source,避免恶意网站拦截消息。这点应该在注意事项中提到,虽然用户的问题主要是示例,但安全性也是重要的一环。 还需要考虑代码的结构,比如父页面和子页面的HTML结构,如何嵌入iframe,以及如何在各自的脚本中处理消息。可能需要分别给出父页面和子页面的完整代码示例,或者至少是关键的代码片段。 同时,用户提供的引用3中提到了一些功能,比如时间范围过滤和图表交互,但用户的问题主要集中在机制,所以可能不需要深入这些细节,但可以简要提到应用场景,比如数据过滤和动态更新。 最后,要确保回答结构清晰,分步骤讲解,每个步骤都有代码示例和说明,并且总结注意事项和常见问题。可能还需要生成相关问题,比如安全性优化或错误处理,但根据用户的要求,这部分已经包含在系统指令中,需要按照格式生成相关问题。</think>### PostMessage双向通信实现步骤 #### 一、父页面向子页面 1. 父页面HTML结构: ```html <iframe id="childFrame" src="child.html"></iframe> <button onclick="sendToChild()">发送给子页面</button> ``` 2. 父页面JavaScript: ```javascript function sendToChild() { const iframe = document.getElementById('childFrame'); // 发送包含时间戳和随机数的数据 iframe.contentWindow.postMessage({ type: 'fromParent', data: Date.now() + Math.random() }, 'https://子页面域名'); // 建议指定具体域名 } // 接收页面消息 window.addEventListener('message', (e) => { if (e.origin !== 'https://子页面域名') return; console.log('收到子页面消息:', e.data); }); ``` #### 二、子页面向父页面 1. 子页面JavaScript: ```javascript // 发送数据给父页面 document.getElementById('sendBtn').addEventListener('click', () => { parent.postMessage({ type: 'fromChild', payload: document.getElementById('inputField').value }, 'https://父页面域名'); }); // 接收页面消息 window.addEventListener('message', (e) => { if (e.origin !== 'https://父页面域名') return; if (e.data.type === 'fromParent') { document.getElementById('display').innerText = e.data.data; } }); ``` #### 三、安全验证要点 1. 发送方必须验证`event.origin`: ```javascript window.addEventListener('message', (e) => { const allowedOrigins = ['https://trusted-domain.com']; if (!allowedOrigins.includes(e.origin)) return; // 处理合法数据... }); ``` 2. 建议数据格式标准化: ```javascript { version: '1.0', timestamp: 1625097600, signature: 'HMAC-SHA256校验', payload: {} // 实际业务数据 } ``` [^1][^2][^3] #### 四、调试技巧 1. Chrome开发者工具中: - 使用`window.postMessage`调试 - 在Sources面板设置iframe断点 2. 建议添加调试标识: ```javascript console.log('[Parent] 收到消息', JSON.stringify(e.data, null, 2)); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值