【问题标题】:TinyMCE: cake php plugin [ cannot submit form ]TinyMCE:蛋糕 php 插件 [无法提交表单]
【发布时间】:2013-10-25 03:24:07
【问题描述】:

我使用https://github.com/CakeDC/TinyMCE 下载插件并按照所有步骤集成到我的 cakePHP 项目中。所以现在,所有的 textarea 都成功改成了 tinyMCE 编辑器

但是当点击“SUBMIT”提交表单时,页面无法提交和发布数据。无需加载编辑器,我的表单就可以提交和发布数据。

有 jquery 问题吗?请给我建议。

谢谢。

Bootsrab.php

CakePlugin::load('TinyMCE');
Configure::write('TinyMCE.editorOptions', array('width' => '500px','height'=>'250px' ));

控制器:

public $helpers=array('Html','Form','TinyMCE.TinyMCE');

查看:

$this->TinyMCE->editor(array('theme' => 'advanced', 'mode' => 'textareas'));
echo $this->Form->input('user_requirements',array('required'=>true) );

布局:默认 加载js文件:

echo $this->Html->script(array('ddsmoothmenu','jquery-1.7.1.min','jquery-ui-1.8.17.custom.min'));

【问题讨论】:

  • 请用您的 php 代码更新您的问题,以便我们知道问题所在
  • @elune 您好,感谢您的回复。我已经更新了我的 php 编码。

标签: cakephp tinymce


【解决方案1】:

您已将该字段设置为required,因此您遇到的问题可能是基于浏览器的表单验证。

问题是验证应用之前 TinyMCE 将内容注入文本区域,因此验证将始终失败,因为文本区域为空。顺便说一句,这是一个众所周知的“错误”:

http://www.tinymce.com/develop/bugtracker_view.php?id=4768 http://www.tinymce.com/develop/bugtracker_view.php?id=5671

在 Firefox 中,您可能会注意到屏幕左下角出现在浏览器“后面”的验证气泡,例如在 Chrome 中,它会抛出以下错误:“无效的表单控件name='...' 是不可聚焦的"。

快速而肮脏的解决方法是将required 设置为false。为了在生成的容器div 上保留required 类,您必须使用div 选项手动设置:

'div' => array('class' => 'input text required')

还可以通过在表单上定义novalidate 属性来完全禁用浏览器验证:

$this->Form->create('ModelName', array('novalidate' => true));

或使用提交按钮上的formnovalidate 属性:

$this->Form->submit('Submit', array('formnovalidate' => true));

理论上也可以监听invalid事件并显示自定义验证气泡,但这里的问题是浏览器行为不一致,即在Chrome中无法验证不可见(使用displayvisibility) 字段。此外,textarea 字段中的内容仍然会丢失。

似乎可行的是使用opacity 隐藏字段,这样可以将文本区域定位在编辑器下,并且验证气泡会正确显示。但是,这也需要在按下 Enter 和单击提交按钮时手动将编辑器内容注入文本区域(或者使用适当的编辑器更改事件可能更简单)。稍后我会看看是否可以为此提出一个示例。

更新:我已经以 TinyMCE 4.x 插件的形式实现了一个修复/解决方法,因为这也在我自己的一些应用程序中困扰着我,请参阅 https://github.com/ndm2/tinymce-validatable

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多