这不是问题,而是我想与您分享的答案.我刚刚花了四个多小时把头发撕成了一些东西,结果证明是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(带有必需属性),浏览器期望您为其提供值.
在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(); }); } }
我没有亲自测试过这个片段,但只要你能够将它放到正确的位置,研究它可能会让你前进.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。