CKEDITOR:从Javascript中的多个实例名称中获取数据
CKEDITOR: get data from multiple instance names in Javascript
因为我在HTML代码中有多个文本区域,所以我通过Javascript传递id值来检索每个文本区域中的数据。但是,在 JS 函数中,"CKEDITOR.instances.id"并不表示预期的,例如CKEDITOR.instances.editor_1、CKEDITOR.instances.editor_2或CKEDITOR.instances.editor_4,因此,我没有检索到任何数据。任何人都知道如何解决这个问题,请让我。非常感谢。
网页代码:
<textarea name="edit_1"></textarea>
<input type="button" value="submit" onClick="getValue('edit_1')" />
<textarea name="edit_2"></textarea>
<input type="button" value="submit" onClick="getValue('edit_2')" />
<textarea name="edit_2"></textarea>
<input type="button" value="submit" onClick="getValue('edit_3')" />
JS代码:
var getValue = function(id) {
var content = CKEDITOR.instances.id.getData();
alert(content);
};
尝试在 id 之间添加 []
var getValue = function(id) {
var content = CKEDITOR.instances[id].getData();
alert(content);
};
我不得不做这样的事情,因为我将事件绑定到具有多个实例的操作。并尝试获取数据,但它总是为除最后一个之外的任何一个返回 null......使用事件(e.editor)虽然有效。
var editors = CKEDITOR.instances;
for (var x in editors) {
if (editors[x]) {
var thisName = editors[x].name;
if (editors[thisName]) {
editors[thisName].on('focus', function (e) {
socket.emit('ckeditor_field_type_edit', user, e.editor.name);
});
editors[thisName].on('key', function (e) {
var data = e.editor.getData();
socket.emit('ckeditor_field_type_typing', user, e.editor.name, data);
});
editors[thisName].on('blur', function (e) {
var data = e.editor.getData();
setTimeout(function () {
socket.emit('ckeditor_field_type_edit_finish', user, e.editor.name, data);
}, 1000);
});
}
}
}
相关文章:
- 将新类实例中的数据存储在数组中
- 删除数据网格 (Dojo) 和表 (数据网格) 的实例正确显示
- 猫鼬数据不会保存模型的新实例
- 当有多个 React.js 组件实例具有数据请求时如何处理缓存
- 主干 - 实例化视图包含旧数据
- 将数据表 API 实例存储在对象中
- 如何允许用户在页面上提交同一表单的多个实例并使用 php 存储数据
- 获取在视图实例中定义的具有特定 ID 的数据
- 重新访问了 Python 私有实例数据
- 访问模板的实例范围并注入数据
- 在同一控制器(ng-controller)的不同实例之间共享数据
- 实例检查附加到数据属性的 jQuery 插件实例
- 《烈焰流星》动态实例化模板和数据上下文
- d3.js单击时更改数据(圆环图的多个实例)
- 如何删除多维数据集.js实例的一天之后的事件
- 如何在集成测试中访问ember数据存储实例
- 如何在使用数据表时替换Knockout中的数组实例
- 如何停止数据表实例已启动的所有当前正在进行的 Ajax 查询
- 如何从autoform钩子访问模板实例数据
- 将模板实例数据作为关键字参数传递给嵌套模板