• 关注此站
  • 网站管理
    • 网站首页
    • 给我留言
    浅谈关于父页面和子页面相传值的问题
    发布者:kos   发布日期:2010年01月8日 3:21 am 暂无评论

    关于父页面和子页面相传值的问题可能一直困扰着不少人,这在平时的编程中随时都会遇到,在此就本人做ui的经历中遇到过这样的问题做点简单的总结。
    首先从兼容性方面考虑,由于网民的个人爱好不一样,再加上浏览器的种类和版本的众多,而基本上每种浏览器的内核都不一样,甚至有些并不是完全基于W3C标准,所以有些js的语法在不同的浏览器上就会得到不同的效果,比如在ie6上访问一个对象,那个对象的id是obj,js获取这个对象的时候可以直接就拿obj来用,而火狐等很多浏览器则不能,必须符合W3C标准才行,应该写成document.getElementById(”obj”);再比如说求某个节点下面的子节点个数,可以试看下面的代码,在不同浏览器上又有可能不一样
    <div id=”cov”>
    <li>张三</li>
    <li>李四</li>
    <li>王王</li>
    <li>友意博客</li>
    </div>
    <script type=”text/javascript”>
    var bigcov = document.getElementById(”cov”);
    alert(bigcov.childNodes.length);
    </script>

    先不扯远了,其实iframe是个很有用的东西,有很多优点,比如页面而已,跳转,优先级等,关于传值的问题基本上出现在跳转里面,这里先说一点注意,关于有传值的问题,把js代码写到子页面里面是最好不过的了,从父页面获取子页面不是个好办法,但从子页面往父页面传值很容易办到,首先来说,一个父页面可以存在多个子页面,而子页面又是可变的,这里会出现的一个问题马上就来了,看下面的代码
    <iframe id=”parentHTML” name=”parentHTML” src=”text1.html”></iframe>这里的text1.html里面比如有个id叫text的控件,这时父页面去操作他能办到,但如果有其它链接指向这个iframe,然后另处一个页面里面没有text这个对象,那么父页面再来访问这个对象的时候就报错了,也许另外的这个子页面根本就与你父页面要用到的这个js无关,所以哪个页面与这个js有关,你就把写到那个页面去,比如父页面要用到子页面的text这个文本框的的传,那么你就在子页面把值传给父页面,你先在父页面设一个隐藏的文本,子页面就这样写:parent.document.getElementById(’obj’).value=”你要传的值”,这样父页面就得到子页面的值了,这样写是因为当前的子页面只承在于一个父页面,在此先就介绍关于iframe的父子传值问题,随后再谈谈关于弹出类的父子传值。

    来自分类: JavaScript   Tags: iframe, W3C标准, 传值, 子页面, 父页面
    通过js从父页面获取子页面的值
    发布者:kos   发布日期:2009年10月20日 5:23 pm 暂无评论

    通常在很多情况下都会遇到通过js来传值的问题,只要通过一些页面关联,他们的值就可以互相传递
    其中应用框架的时候传值问题可能会遇到更多一些

    1、从父页面传值到子页面可能很容易办到,在很多情况下可以不通过js来传就可以达到目的,但从子页面把数据传给父页面就不是那么容易了,其实思路很简单,首先你要通过父页面找到子页面,按照W3C标准来,语法如下:
    document.getElementById(”iframe1″).contentWindow;
    取到子页面对象

    2、此文为了达到一个很醒目的效果,做了一个很即时的例子,当鼠标选中子页面的任何文字的时候,父页面的text里面就把显示出来,通过getSelection和selection.createRange方法来实现,关于selection.createRange是只能在ie6上面能用,所以要加。

    来自分类: JavaScript   Tags: contentWindow, createRange, selection, W3C标准, 传值, 子页面, 获取
    很实用的运行调试代码
    发布者:kos   发布日期:2009年10月19日 5:36 pm 共有2条评论

    最近没事干,喜欢搞一点小东西。
    有一个东西我觉得很有意思,可以给大家分享一下,只不过用起来还是有那么点不方便,不过方法我觉得挺有意思。
    在很多网页中都会看到有代码调试效果这样的功能:
    通常一个页面可能会有多个这样的功能,牵涉到传值的问题有点麻烦,按照传统的方法,给一个id什么的来解决,但是多了的话可能自己都记不清楚到底对应的id是多少了,还有就是怕重复,一个页面里面id是不能重复的。
    效果图如下:

    [......]

    来自分类: DIV+CSS, JavaScript, 网站设计   Tags: code调试, parentNode, textarea, 传值, 节点, 调试, 运行
    • 站点日历

        2010-03月    
      一 二 三 四 五 六 日
      1234567
      891011121314
      15161718192021
      22232425262728
      293031  
    • 站内搜索

    • 分类导航

      • DIV+CSS (11)
      • Flash编程 (1)
      • JavaScript (23)
      • 网站设计 (15)
      • 网络杂坛 (2)
      • 网络资源 (2)
    • 博客标签

      下拉菜单(1) 优先级(1) 传值(3) 兼容(3) 子页面(2) 字符串(1) 导航(2) 手机号码(1) 拼接(1) 提示效果(1) 滚动(2) 滤镜(1) 电话号码(1) 空间站(1) 网页(1) 节点(1) 获取(1) 调试(1) 运行(1) 透明背景(1) 邮箱(1) 验证(1) clearTimeout(2) code调试(1) contentWindow(1) createRange(1) ExecWB(1) external(1) iframe(1) JavaScript(1) join()(2) js(1) MARQUEE(2) options(1) parentNode(1) png(1) refresh(1) scrollTop(1) selectedIndex(1) selection(1) setInterval(1) setTimeout(4) textarea(1) title(2) W3C标准(3)
    • 有情链接

      • 博客集中营
      • 寻常百姓(淘宝导购)
      • 寻常百姓·家
      • 手机菜鸟
      • 柳永法'Blog
      • 爱吾资源
    Powered by WordPress. Theme F2.© 2010 友意博客   E-mail:uideas@163.com   QQ:50853854