0

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

cc.text(content); 我尝试更新#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,我在其中省略了headscript中的详细信息:

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

1 回答 1

0

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

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

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

于 2012-07-20T07:24:05.787 回答