【问题标题】:set focus on tinyMCE after submit提交后将焦点放在tinyMCE上
【发布时间】:2014-09-01 18:16:18
【问题描述】:

我正在使用 tinyMCE 编辑器。如果 jQuery 验证失败,我需要将焦点放在 tinyMCE 文本区域。我尝试了多种方法,但都未能设置焦点。 我努力了:

tinyMCE.activeEditor.focus; 我也试过这个: tinyMCE.activeEditor.execCommand('mceFocus', false, 'textarea_id'); 并且 $("#lCmsContent").tinyMCE().focus();

实际上我正在使用 jQuery 验证,所以如果在文本编辑器的情况下验证失败,我需要设置焦点。为此,我的代码如下:

$('.form_validation_cmspage').validate({ onkeyup:假, 错误类:'错误', 有效类:'有效', 亮点:功能(元素){ $(element).closest('div').addClass("f_error"); }, 取消突出显示:函数(元素){ $(element).closest('div').removeClass("f_error"); }, 错误放置:函数(错误,元素){ $(element).closest('div').append(error); }, 规则:{ 'vCmsTitle':{必需:真}, 'lCmsContent':{必需:真}, “状态”:{必需:真} },消息:{ 'vTitle' : { required: "此字段为必填项!"}, 'lCmsContent' : { required : "需要说明!"}, 'status' : { required: 'Status field is requerid!' } },忽略:':hidden:not(.chzn_a)', 无效处理程序:函数(表单,验证器){ var 错误 = 验证器.numberOfInvalids(); 如果(错误){ if(validator.errorList[0].message == '需要描述!') { tinyMCE.activeEditor.execCommand('mceFocus', false, 'lCmsContent'); } } } })

对于文本编辑器:

<textarea id="lCmsContent" name="lCmsContent"></textarea>

提前致谢!!

【问题讨论】:

  • 为什么你把id参数留空tinymce.execCommand('mceFocus',false,'id_of_textarea');
  • @MohitArora 是的,我忘了在这里提及,我在上面添加了。但这不起作用
  • 有没有其他出路
  • 你有没有尝试过这些stackoverflow.com/questions/2212552/…
  • yeaaa :) 谢谢@MohitArora,tinyMCE.get('Description').getBody().focus();这个对我有用

标签: jquery tinymce focus


【解决方案1】:

试试这个

$("#your_texbox_id").focus();

更新:

我假设“activeEditor”是tinymce 初始化的一个变量。 这应该有效:

activeEditor.execCommand('mceFocus',false,'id_of_textarea');

【讨论】:

  • 我也试过这个,但这没有帮助。我也在检查firenug,控制台也没有问题:(
【解决方案2】:

在我的情况下,只需设置 auto_focus: '#textarea_id' 即可。

tinymce.init({
    selector: '#textarea_id',
    auto_focus: '#textarea_id'
});

也在 TinyMce 文档中 - https://www.tinymce.com/docs/configure/integration-and-setup/#auto_focus

【讨论】:

    猜你喜欢
    • 2012-06-18
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多