首页 > 解决方案 > 我无法获取/显示跨度的输入值(在 IFRAME 中)

问题描述

我想将输入中的值放入/显示到框架的跨度中,实时。下面我有代码.. 这是名为“i1.html”的主 html 页面

<body>
    <input type="text" id="input">
    <iframe src="i2.html" frameborder="1" id="myfrm" width="300px" height="1000px"></iframe>
    <script>
        const frame = document.getElementById("myfrm");
        const elmnt = frame.contentWindow.document.getElementById("my-message");
        const inp = document.getElementById("input");
        const inp2 = document.getElementById("input2");
        
        addEvent(inp, 'keyup', function () {
            elmnt.value = this.value.split(' ').join('');
        });
        function addEvent(ele, evnt, funct) {
            if (ele.addEventListener) // W3C    
                return ele.addEventListener(evnt, funct, false);
            else if (ele.attachEvent)  // IE    
                return ele.attachEvent("on" + evnt, funct);
        }
    </script>
</body>

这是名为“i2.html”的框架

<body>
    <p>
        <strong>Message:</strong>
        <span id="my-message"></span>
    </p>

</body>

它向我显示了这个错误:Uncaught TypeError: Cannot set property 'value' of null

标签: javascripthtmliframe

解决方案


推荐阅读