Javascript 我如何读取';编辑了什么?
当我单击“编辑下面的HTML,然后单击显示”按钮时,我的输入文本工作正常,但当我编辑它们时,我的tinymce文本区域将不工作。他们会将它的旧值发送到iframe,但不会发送新值。编辑tinymce文本区域时,如何发送新值?下面是jsfiddle:和代码:Javascript 我如何读取';编辑了什么?,javascript,tinymce,Javascript,Tinymce,当我单击“编辑下面的HTML,然后单击显示”按钮时,我的输入文本工作正常,但当我编辑它们时,我的tinymce文本区域将不工作。他们会将它的旧值发送到iframe,但不会发送新值。编辑tinymce文本区域时,如何发送新值?下面是jsfiddle:和代码: <script type="text/javascript"> function init(buttonid, name, iframeid) { document.getElementById(buttonid).add
<script type="text/javascript">
function init(buttonid, name, iframeid) {
document.getElementById(buttonid).addEventListener('click',function() {
// this.style.backgroundColor = '#cc0000';
gJSL_displayInput(name, iframeid)
},false);
gJSL_displayInput(name, iframeid);
}
window.onload = function() {
init('thisButton','test','iframetest');
init('thisButtona','testa','iframetesta');
init('thisButtonb','testb','iframetestb');
}
function gJSL_displayInput(nameInput, idOutput) {
var loc = "::JSLearning::gJSL_displayInput()";
try {
var ifrm = document.getElementById(idOutput);
var cnt = (ifrm.contentWindow || ifrm.contentDocument);
var doc;
doc = cnt.document;
doc.open();
var inputs = document.getElementsByName(nameInput);
for(var i = 0; i < inputs.length; i++) {
doc.write(inputs[i].value + "<br />");
}
doc.close();
} catch (e) {
exceptionAlert(loc, e);
}
}
</script>
<script src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
<script>
tinymce.init({selector:'textarea'});
</script>
<div class="scrollbar">
<input id="test1" name="test" value="ajkla;ldkfj">
<input id="test2" name="test" value="bla2">
<input id="test3" name="test" value="bla3">
<input id="test4" name="test" value="bla4">
<input id="test5" name="test" value="bla5">
<br><br>
<textarea class="ckeditor" id="test6" name="test"></textarea>
<br><br>
<input id="test7" name="test" value="bla7">
<br><br>
<textarea id="test8" name="test">HELLO WORLD</textarea>
<br><br>
<textarea id="test9" name="test">HI EVERYBODY</textarea>
<br><br>
<input id="thisButton" type="button" name="Display" value="Edit HTML Below then Click to Display"/>
</div>
<div class="scrollbar"><iframe id="iframetest" src="" style="background: White;"></iframe></div>
函数init(buttonid、name、iframeid){
document.getElementById(buttonid).addEventListener('click',function()){
//this.style.backgroundColor='#cc0000';
gJSL_displayInput(名称,iframeid)
},假);
gJSL_显示输入(名称,iframeid);
}
window.onload=函数(){
init('thisButton','test','iframetest');
init(‘thisButtona’、‘testa’、‘iframetesta’);
init('thisButtonb','testb','iframetestb');
}
功能gJSL_displayInput(名称输入、idOutput){
var loc=“::JSLearning::gJSL_displayInput()”;
试一试{
var ifrm=document.getElementById(idOutput);
var cnt=(ifrm.contentWindow | | ifrm.contentDocument);
var-doc;
doc=cnt.document;
doc.open();
var inputs=document.getElementsByName(nameInput);
对于(变量i=0;i ”);
}
doc.close();
}捕获(e){
例外ERT(loc,e);
}
}
init({选择器:'textarea'});
你好,世界
大家好
您可以使用以下代码:
content8 = tinyMCE.get('test8').getContent();
doc.write(content8);
content9 = tinyMCE.get('test9').getContent();
doc.write(content9);
从tinyMCE更新的值中获取值
我为您构建的。上次我使用tinyMCE时,它没有自动更新文本区域功能。。 因此,在提交表单之前,请使用
.getContent()
更新您的文本区域。。
这里是链接
因此,您的代码将如下所示
功能gJSL_displayInput(名称输入、idOutput){
var loc=“::JSLearning::gJSL_displayInput()”;
试一试{
var ifrm=document.getElementById(idOutput);
var cnt=(ifrm.contentWindow | | ifrm.contentDocument);
var-doc;
doc=cnt.document;
doc.open();
var inputs=document.getElementsByName(nameInput);
对于(变量i=0;i ”);
其他的
单据写入(输入[i].value+“
”);
}
doc.close();
}捕获(e){
例外ERT(loc,e);
}
}
var loc = "::JSLearning::gJSL_displayInput()";
try {
var ifrm = document.getElementById(idOutput);
var cnt = (ifrm.contentWindow || ifrm.contentDocument);
var doc;
doc = cnt.document;
doc.open();
var inputs = document.getElementsByName(nameInput);
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].tagName == 'TEXTAREA')
doc.write(tinyMCE.get(inputs[i].id).getContent() + "<br />");
else
doc.write(inputs[i].value + "<br />");
}
doc.close();
} catch (e) {
exceptionAlert(loc, e);
}
}