- Fix JS error on IE when trying to send HTML message with enabled spellchecker (#1486940)

release-0.6
alecpl 14 years ago
parent 882b0f5e7f
commit 736790f625

@ -12,6 +12,7 @@ CHANGELOG RoundCube Webmail
- Fix Tab key doesn't work in HTML editor in Google Chrome (#1486925) - Fix Tab key doesn't work in HTML editor in Google Chrome (#1486925)
- Fix TinyMCE uses zh_CN when zh_TW locale is set (#1486929) - Fix TinyMCE uses zh_CN when zh_TW locale is set (#1486929)
- Fix TinyMCE buttons are hidden in Opera (#1486922) - Fix TinyMCE buttons are hidden in Opera (#1486922)
- Fix JS error on IE when trying to send HTML message with enabled spellchecker (#1486940)
RELEASE 0.4 RELEASE 0.4
----------- -----------

@ -2752,12 +2752,12 @@ function rcube_webmail()
this.check_compose_input = function() this.check_compose_input = function()
{ {
// check input fields // check input fields
var input_to = $("[name='_to']"); var ed, input_to = $("[name='_to']"),
var input_cc = $("[name='_cc']"); input_cc = $("[name='_cc']"),
var input_bcc = $("[name='_bcc']"); input_bcc = $("[name='_bcc']"),
var input_from = $("[name='_from']"); input_from = $("[name='_from']"),
var input_subject = $("[name='_subject']"); input_subject = $("[name='_subject']"),
var input_message = $("[name='_message']"); input_message = $("[name='_message']");
// check sender (if have no identities) // check sender (if have no identities)
if (input_from.attr('type') == 'text' && !rcube_check_email(input_from.val(), true)) { if (input_from.attr('type') == 'text' && !rcube_check_email(input_from.val(), true)) {
@ -2795,25 +2795,25 @@ function rcube_webmail()
input_subject.val((subject ? subject : this.get_label('nosubject'))); input_subject.val((subject ? subject : this.get_label('nosubject')));
} }
// Apply spellcheck changes if spell checker is active
this.stop_spellchecking();
if (window.tinyMCE)
ed = tinyMCE.get(this.env.composebody);
// check for empty body // check for empty body
if ((!window.tinyMCE || !tinyMCE.get(this.env.composebody)) if (!ed && input_message.val() == '' && !confirm(this.get_label('nobodywarning'))) {
&& input_message.val() == '' && !confirm(this.get_label('nobodywarning'))) {
input_message.focus(); input_message.focus();
return false; return false;
} }
else if (window.tinyMCE && tinyMCE.get(this.env.composebody) else if (ed) {
&& !tinyMCE.get(this.env.composebody).getContent() if (!ed.getContent() && !confirm(this.get_label('nobodywarning'))) {
&& !confirm(this.get_label('nobodywarning'))) { ed.focus();
tinyMCE.get(this.env.composebody).focus();
return false; return false;
} }
// Apply spellcheck changes if spell checker is active
this.stop_spellchecking();
// move body from html editor to textarea (just to be sure, #1485860) // move body from html editor to textarea (just to be sure, #1485860)
if (window.tinyMCE && tinyMCE.get(this.env.composebody))
tinyMCE.triggerSave(); tinyMCE.triggerSave();
}
return true; return true;
}; };
@ -2845,8 +2845,12 @@ function rcube_webmail()
this.stop_spellchecking = function() this.stop_spellchecking = function()
{ {
if (this.env.spellcheck && !this.spellcheck_ready) { var ed;
$(this.env.spellcheck.spell_span).trigger('click'); if (window.tinyMCE && (ed = tinyMCE.get(this.env.composebody))) {
ed.execCommand('mceSpellCheck');
}
else if ((ed = this.env.spellcheck) && !this.spellcheck_ready) {
$(ed.spell_span).trigger('click');
this.set_spellcheck_state('ready'); this.set_spellcheck_state('ready');
} }
}; };

Loading…
Cancel
Save