有关iframe中子页面控制父页面里ready中的事件的有关问题
有关iframe中子页面控制父页面里ready中的事件的问题
标题基本不能表达我想表达的确切意思,嘿嘿 把代码贴出来,
有达人请指点一下
a.html,b.html,jquery.js在同一个文件夹
注意有用到jquery,代码这里就不提供了
a.html代码如下
b.html代码如下
我预计的效果是
单击b页面中的按钮s2,a页面中文字框s3中的值应该是 gid2222222
但是不是,不知道怎么回事。
但是我如果直接删除a页面中的s1按钮,这样效果就符合我的预计了
为什么会这样,怎样才能不删除s1也能让效果符合我的预计?
------解决方案--------------------
这个是两个环境之间的交互。
把iframe的id设为iframe_1
然后修改你的s4执行代码
$(".ctt").click(function(e1){
if ( $.browser.msie&&+$.browser.version<8 ){//低于ie8的浏览器处理
document.frames["iframe_1"].$("#submit").val("这绝对是你想要的");
}else{
$("#iframe_1").contentWindow..$("#submit").val("这绝对是你想要的");
}
});
标题基本不能表达我想表达的确切意思,嘿嘿 把代码贴出来,
有达人请指点一下
a.html,b.html,jquery.js在同一个文件夹
注意有用到jquery,代码这里就不提供了
a.html代码如下
- HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".ctt").click(function(e1){ $("#s3").val($(this).attr("gid")); }); }); </script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <p> <label> <input class="ctt" type="submit" name="s1" id="s1" value="1111111111" gid="gid1111111111" /> <input class="ctt" type="submit" name="s4" id="s4" value="4444444444" gid="gid44444444444" /> </label> </p> <p> <label> <input name="s3" type="text" id="s3" value="opopopopophhh" /> </label> </p> <iframe src="b.html"></iframe> </body> </html>
b.html代码如下
- HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#s2").click(function(e1){ $(window.parent.document).find("#s4").attr("gid","gid2222222"); alert($(window.parent.document).find("#s4").attr("gid")); $(window.parent.document).find("#s4").click(); }); }); </script> <body> <label> <input type="submit" name="s2" id="s2" value="调用a页面中s1按钮的click动作" /> </label> </body> </html>
我预计的效果是
单击b页面中的按钮s2,a页面中文字框s3中的值应该是 gid2222222
但是不是,不知道怎么回事。
但是我如果直接删除a页面中的s1按钮,这样效果就符合我的预计了
为什么会这样,怎样才能不删除s1也能让效果符合我的预计?
------解决方案--------------------
这个是两个环境之间的交互。
把iframe的id设为iframe_1
然后修改你的s4执行代码
$(".ctt").click(function(e1){
if ( $.browser.msie&&+$.browser.version<8 ){//低于ie8的浏览器处理
document.frames["iframe_1"].$("#submit").val("这绝对是你想要的");
}else{
$("#iframe_1").contentWindow..$("#submit").val("这绝对是你想要的");
}
});