求助,js对iframe框架内的操作

solo2pm 2015-01-17 12:56:46
本人美工,对js丝毫不懂,只有一点html和php的基础,所以来此求助大神,谢谢了
这是我的源码,求完善,可以吗?100分求解

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>test</title>
</head>
<script type="text/javascript">
window.onload = function() {
var iframe = document.getElementById("xxx1");
iframe.style.width = window.innerWidth + 'px';
iframe.style.height = window.innerHeight + 'px';
setTimeout("alert(xxx1.document.all.txt.value)",1500);
var topWin = window.top.document.getElementById("xxx1").contentWindow;
gel("recommond").checked = true;
};
</script>
<body>
<IFRAME id="xxx1" src="http://www.36588.com.cn/member_register.html" ></IFRAME >
</body>
</html>


现在是这样子的


我想在框架加载完以后,对框架内的选择框和编辑框操作,大约是这样


推荐人,邮箱,用户名,密码都是明文用url编码到网址里的,这样网页上的框架加载完以后用js解析了自动填写到框架里。
也就是以后我只要把html放到服务器,把html网址+参数发给好友,他们只要填写验证码就可以了。
类似这样http://www.xxx.xxx/a.html?tuijian=%E5%85%80&user=aaa&mail==aaa%40xxx.xxx&password=123456

如果js解析网址做不到,那源码用asp也行,我有个asp的空间,asp收到网址请求解析好了js和html返回给用户。或者php也可以,我有新浪sea的账号。

最后,谢谢各位了!!!
...全文
267 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
solo2pm 2015-01-19
  • 打赏
  • 举报
回复
有大神给指点一二吗?
slwsss 2015-01-19
  • 打赏
  • 举报
回复
自己做个表单让用户填写然后提交到对方页面上
solo2pm 2015-01-17
  • 打赏
  • 举报
回复
引用 1 楼 danielinbiti 的回复:
如果没看错的话是要跨域操作的吧
这是看到的一些资料,但是能力有限,看不懂 JS获取并操作iframe中元素的方法,需要的朋友可以参考一下 JS获取/设置iframe内对象元素、文档的几种方法 1、IE专用(通过frames索引形象定位): 复制代码 代码如下: document.frames[i].document.getElementById('元素的ID'); 2、IE专用(通过iframe名称形象定位): 复制代码 代码如下: document.frames['iframe的name'].document.getElementById('元素的ID'); 以上方法,不仅对iframe适用,对frameset里的frame也同样适用。IE虽然擅于自定标准,但不得不说它很多的设计还是比较体现人性化的。比如这个,它在同样支持下面的标准路径之外,提供了一个简洁且形象化的写法。 3、通用方法: 复制代码 代码如下: document.getElementById('iframe的ID').contentWindow.document.getElementById('元素的ID') 注意要加上contentWindow,往往出现问题都是因为这个容易被忽略,它代表frame和iframe内部的窗口对象。 JS获取iframe文档内容 复制代码 代码如下: <script type="text/javascript"> function getIframeContent(){ //获取iframe中文档内容 var doc; if (document.all){ // IE doc = document.frames["MyIFrame"].document; }else{ // 标准 doc = document.getElementById("MyIFrame").contentDocument; } return doc.body.innerHTML; } </script> 注意:上面的 .contentDocument 相当于 .contentWindow.document ! 一、需求与遇到的问题   在网站的后台管理中使用了iframe框架布局,包括顶部菜单、左侧导航和主页面。需求是:点击主页面上的一个按钮,在顶部菜单栏的右侧显示“退出”链接,点击可退出系统。   我的思路是:在顶部的菜单页面放一个不可见的“退出”链接,当用户点击位于iframe中的主页面(mainPage.htm)中的按钮时,在顶部菜单页面的右侧显示“退出”。   我现在遇到的问题是:如何在页面的一个iframe子页面(mainPage.htm)中获取并且操作其它iframe子页面(比如topPage.htm)中的HTML元素? 二、通过JS获取并操作iframe中的元素来解决问题   这里主要就是通过JS来操作Window对象。Window 对象表示浏览器中打开的窗口,如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。   经过我在网上查资料,找到了JS操作iframe中HTML元素的方法。示例如下。 复制代码 代码如下: function ShowExit() { //获取iframe的window对象 var topWin = window.top.document.getElementById("topNav").contentWindow; //通过获取到的window对象操作HTML元素,这和普通页面一样 topWin.document.getElementById("exit").style.visibility = "visible"; }  说明:第一步,通过window.top.document.getElementById("topNav")方法获取了顶部菜单页面(topPage.htm)所在的iframe对象;第二步,通过上一步获取到的iframe对象的contentWindow属性得到了iframe中元素所在的window对象;第三步,通过上一步获取到的window对象来操作iframe框架中的元素,这和操作不在iframe框架中的普通HTML元素是一样的。
solo2pm 2015-01-17
  • 打赏
  • 举报
回复
引用 1 楼 danielinbiti 的回复:
如果没看错的话是要跨域操作的吧
是的,为了拉人注册,就是引用网站的注册页面,然后加载完预先填写上一些信息
danielinbiti 2015-01-17
  • 打赏
  • 举报
回复
如果没看错的话是要跨域操作的吧

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧