在TinyMCE编辑器中使用jQuery Validate插件

我正在使用jQuery的Validate插件实现客户端validation,并简要介绍了使用TinyMCE编辑器组件的表单字段。 这会在我的表单字段的包含标记下呈现一个非常复杂的控制树,包括实际编辑区域的iframetextarea元素。 我无法直接访问textarea ,所以在调用.validate()之前添加’required’属性,如下所示:

 jQuery(function() { jQuery("#wpsm_body").addClass("required"); jQuery("#wpsm-send-mail") .validate( { errorContainer : "#wpsm-top-error-container, #wpsm-bottom-error-container", errorLabelContainer : "#wpsm-top-error-container ul", wrapper : "li", messages : { wpsm_from : "The message has no 'From' address. The administrator can set a default for this on the SuperMail 'Settings' page.", wpsm_subject : "The message has no subject.", wpsm_body : "The message has no body.", wpsm_text : "The message has no body." } }); }); 

但是,即使使用空的wpsm_body ,我在提交表单时也没有得到客户端validation错误。

对于背景,这是在一个WordPress插件中,而TinyMCE由wp_editor函数呈现,虽然我怀疑这会产生太大的不同。

补充:虽然我不相信这会有多大帮助,但这里是向浏览器呈现的HTML。 TinyMCE在此之后生成的HTML长度为400行,并且不相关。

 

这里唯一相关的项目是formtextarea ,以及它们的id属性。

假设您已经为tinyMCE包含了js文件,并且您正在使用tinyMCE在客户端进行validation

以下是validationtinyMCE编辑器的代码

  

我不确切知道TinyMCE在Wordpress中是如何使用的。

但我之前使用过TinyMCE,并且在富文本编辑器中进行编辑时, textarea没有更新(它确实在表单提交时更新)。 我需要(ajax)时使用以下代码更新textarea:

 form.find('textarea.rich').each(function() { var textarea = $(this); var taeditor = tinyMCE.get(textarea.attr('id')); if (taeditor) textarea.val(taeditor.getContent()); }); 

希望这可以帮助。