Javascript SCEditor:使用快捷键Ctrl+提交表单;输入-如何获取实例';谁的父母?
我的网站上有多个带有文本区域的表单。每个textarea都分配了sceditor插件。现在我试图通过提供快捷方式提交表单 首先,我为每个编辑器实例分配了一个keyup方法:Javascript SCEditor:使用快捷键Ctrl+提交表单;输入-如何获取实例';谁的父母?,javascript,jquery,wysiwyg,Javascript,Jquery,Wysiwyg,我的网站上有多个带有文本区域的表单。每个textarea都分配了sceditor插件。现在我试图通过提供快捷方式提交表单 首先,我为每个编辑器实例分配了一个keyup方法: $('textarea[name="test01"]').sceditor('instance').keyUp(function(e) { if (e.ctrlKey && e.keyCode == 13) { console.log(this); // case 1 }
$('textarea[name="test01"]').sceditor('instance').keyUp(function(e) {
if (e.ctrlKey && e.keyCode == 13) {
console.log(this); // case 1
}
// ...
后来我还发现了内置的方法:
$('textarea[name="test01"]').sceditor('instance').addShortcut('ctrl+enter', submitform);
function submitform() {
console.log(this); // case 2
}
我的目标是在sceditor DIV之前获得兄弟姐妹,这是textarea。从那里我可以找到提交按钮。或者我可以向下搜索DOM树,找到textarea/sceditor嵌套的表单
但是,console.log(这个)代码>给出了案例1:节点的HTML,即。E在Webdeveloper控制台中,我可以看到sceditor的HTML。对于案例2,我接收sceditor对象
问题是我无法访问父级。同时,我认为没有办法做到这一点
感谢您的帮助。添加快捷方式处理程序时,您知道要将处理程序添加到哪个文本区域,以便执行以下操作:
$('textarea[name="test01"]').sceditor('instance').addShortcut('ctrl+enter', function () {
submitform($('textarea[name="test01"]').get(0).form);
});
function submitform(form) {
console.log(form.id);
}
工作示例:非常好,谢谢你的提琴!为了记录,我需要使用form.name
,因为我没有分配id。现在,我可以使用$('form[name=“”+form.name+“]”)提交表单。提交()
而不是执行$('#'+form.name).submit()
您应该能够只执行$(表单).submit()代码>因为表单变量是表单DOM节点。