0

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 には、 headscript内の詳細を省略した次の html が含まれています。

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

1 に答える 1

0

XML エディターは、テキストエリアにあるものを複数回読み取ることはありません。

簡単な解決策は、ロードする代わりに目的のテキストエリア コンテンツを含む iframe コンテンツを JavaScript で生成してから、テキストエリア コンテンツを変更することです。

実際 (XML エディターの容量にもよりますが)、iframe 全体を使用する代わりに、生成されたテキスト領域で直接それを行うことができます。

于 2012-07-20T07:24:05.787 に答える