I have multiple forms with textareas on my site. Each textarea gets the sceditor plugin assigned. Now I am trying to submit a form by providing a shortcut.
First I had a keyup method assigned to each editor instance:
$('textarea[name="test01"]').sceditor('instance').keyUp(function(e) {
if (e.ctrlKey && e.keyCode == 13) {
console.log(this); // case 1
}
// ...
And later on I also found the built-in method:
$('textarea[name="test01"]').sceditor('instance').addShortcut('ctrl+enter', submitform);
function submitform() {
console.log(this); // case 2
}
My goal is to get the sibling before the sceditor DIV, which is the textarea. From there I can find the submit button. Or I could just go downwards the DOM tree and find the form the textarea / sceditor is nested in.
However, the console.log(this);
gives for case 1: the HTML of the node, i. e. in the Webdeveloper Console I can see the HTML of the sceditor. For case 2 I receive the sceditor object.
Problem is I cannot access the parent. Also in the sceditor docs I see no way to do this.
Thanks for your help.
When adding the shortcut handler you know which textarea the handler is being added to so you could do:
$('textarea[name="test01"]').sceditor('instance').addShortcut('ctrl+enter', function () {
submitform($('textarea[name="test01"]').get(0).form);
});
function submitform(form) {
console.log(form.id);
}
Working example: http://jsfiddle.net/5jc6f589/