html - 具有 html5 必需属性的 tinyMCE textarea 表单无法提交

标签 html tinymce required

这不是问题,而是我想与您分享的答案。我刚刚花了四个多小时搞砸了一些事情,结果证明是 TinyMCE 或 Firefox 中的错误。

加载 TinyMCE 后,如果您在 textarea 上指定 HTML5 required 属性,表单将不会在 Firefox 中提交。没有错误,Firebug 中没有任何内容,只是顽固地拒绝提交。

我不知道这是 FF 错误还是 TinyMCE 错误,也不关心。我只是不想让其他编码员经历我最近几个小时经历的痛苦。

要问一个问题:这个错误是否记录在任何地方?有人知道吗?

如果这是一篇不适合 Stack Overflow 的帖子,请告诉我,我会删除它。

最佳答案

这个问题远不是 Firefox 的问题。事实上,Chrome 和 Opera(“大脑”被移植到 Chrome 之前的“旧”歌剧)以及可能所有其他现代浏览器都会让您同样头疼。

对于 Opera 和 Chrome,有一个标志坚持该字段是必填字段(尽管您在其中有内容)。 Chrome 非常好,可以在控制台中向您显示此错误消息:

An invalid form control with name='<name of textarea>' is not focusable.

当您认为 TinyMCE 实际上创建了一个可编辑的 div 容器并隐藏了您的原始 textarea 时,这并不奇怪。浏览器希望您为其提供值的正是这个隐藏的 textarea(带有 required 属性)。

在 Github 上,这里:https://github.com/tinymce/tinymce/issues/2584 ,有一个建议的解决方案是这样的:

// fix tinymce bug
        if($this.is('[required]')){
            options.oninit = function(editor){
                $this.closest('form').bind('submit, invalid', function(){
                    editor.save();
                });
            }
        }

我没有亲自测试过这个片段,但只要你能把它放在正确的地方,研究它可能会让你继续前进。

关于html - 具有 html5 必需属性的 tinyMCE textarea 表单无法提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16450499/

相关文章:

django - 比较 TinyMCE 和 CKeditor 的 Wiki

html - 如何更改所需错误消息的语言?

python - 根据 View 中的条件更改表单中的必填字段(Django)

html - 我可以在宽度和高度为 0 的 div 上有一个圆框阴影吗

html - 为什么没有明确大小的 div 中的链接和文本会中断?

tinymce - 在 TinyMCE 中,像在 Gmail 中一样,通过按回车键来中断 block 引用

javascript - tinyMCE 图像显示正确,但不更新 src

html - 尝试排序箭头定位时菜单跳转

javascript - 在 PowerPoint 中,有两个动画,分别称为 "faded zoom"和 "bounce"。如何将这些相同的动画应用到我网站上的图像?

jquery - Django 模板 field.is_required 解决方法