我正在使用tinyMCE编辑器。如果jQuery验证失败,我需要将注意力集中在tinyMCE文本区域。我尝试过多种方法,但都未能设置焦点。 我试过了:
tinyMCE.activeEditor.focus;我也试过这个:
tinyMCE.activeEditor.execCommand('mceFocus', false, 'textarea_id');并且
$("#lCmsContent").tinyMCE().focus();
实际上我正在使用jQuery验证,所以如果在文本编辑器的情况下验证失败,我需要设置焦点。为此,我的代码如下:
$('.form_validation_cmspage').validate({ onkeyup: false, errorClass: 'error', validClass: 'valid', highlight: function(element) { $(element).closest('div').addClass("f_error"); }, unhighlight: function(element) { $(element).closest('div').removeClass("f_error"); }, errorPlacement: function(error, element) { $(element).closest('div').append(error); }, rules: { 'vCmsTitle' : { required : true}, 'lCmsContent' : { required : true}, 'status' : { required : true} }, messages: { 'vTitle' : { required: "This field is required!"}, 'lCmsContent' : { required : "Description is required!"}, 'status' : { required: 'Status field is requerid!' } },ignore: ':hidden:not(.chzn_a)', invalidHandler: function(form, validator) { var errors = validator.numberOfInvalids(); if (errors) { if(validator.errorList[0].message == 'Description is required!') { tinyMCE.activeEditor.execCommand('mceFocus', false, 'lCmsContent'); } } } })
对于文本编辑器:
<textarea id="lCmsContent" name="lCmsContent"></textarea>
提前致谢!!
答案 0 :(得分:0)
试试这个
$("#your_texbox_id").focus();
<强>更新强>
我认为&#34; activeEditor&#34;是一个tinymce初始化的变量。 这应该有效:
activeEditor.execCommand('mceFocus',false,'id_of_textarea');
答案 1 :(得分:0)
在我的情况下,只需设置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