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>
答案 0 :(得分:0)
您的XML编辑器不会多次读取textarea中的内容。
一个简单的解决方案是在javascript中生成带有所需textarea内容的iframe内容,而不是加载它,然后尝试更改textarea内容。
实际上(取决于XML编辑器的容量),您可能可以直接在生成的文本区域中执行此操作,而不是使用整个iframe来执行此操作。