无法使用jquery更新iframe内容

时间:2012-07-20 07:00:54

标签: javascript jquery dom iframe

iframe 动态加载到函数内的容器 div 中。

使用 cc.text(内容); 我尝试更新#code内容。

我在运行时检查更改的文本,它已更新,但屏幕上的值保持不变。

我不是javascript专业版,所以欢迎任何评论:

    function ShowEditor(content) {
        var url = "XmlEditor/Editor.htm";
        slHost.css('width', '0%');
        jobPlanContainer.css('display', 'block');
        frame = $('<iframe id="' + jobPlanIFrameID + '" src="' + url + '" class="frame" frameborder="0" />');
        frame.appendTo(jobPlanIFrameContainer);

        $(frame).load(function () {
            var ifr = frame[0];
            var doc = ifr.contentDocument || ifr.contentWindow.document;
            var jdoc = $(doc);
            var cc = jdoc.contents().find("#code");
            // var tst = cc.text();
            // alert(tst);
            cc.text(content);
        });
    }

我在注释代码中获取文本,但无法更新#code内容。

iframe包含以下html,我在 head 脚本中省略了详细信息:

<!doctype html>
<html>
    <head></head>
<body>
<form>
<textarea id="code" name="code">some texts</textarea>
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您的XML编辑器不会多次读取textarea中的内容。

一个简单的解决方案是在javascript中生成带有所需textarea内容的iframe内容,而不是加载它,然后尝试更改textarea内容。

实际上(取决于XML编辑器的容量),您可能可以直接在生成的文本区域中执行此操作,而不是使用整个iframe来执行此操作。