Javascript 为什么缩进会从我的网站上的用户提交中消失?
我的网站上有文本区域,用户可以在其中提交(代码)条目。当他们稍后访问该页面时,该页面将显示他们提交的内容。这很好,但最近一些条目在加载时无法显示正确的选项卡和换行符。我查看了Rails中的数据,发现某些条目缺少应该在那里的制表符(Javascript 为什么缩进会从我的网站上的用户提交中消失?,javascript,ruby-on-rails,forms,text,ace-editor,Javascript,Ruby On Rails,Forms,Text,Ace Editor,我的网站上有文本区域,用户可以在其中提交(代码)条目。当他们稍后访问该页面时,该页面将显示他们提交的内容。这很好,但最近一些条目在加载时无法显示正确的选项卡和换行符。我查看了Rails中的数据,发现某些条目缺少应该在那里的制表符(\t)。看起来选项卡已被替换为空白,在显示文本时不会显示空白。什么可能导致此错误?我如何修复它 正确保存的文本示例: "lots of text;\r\n\r\some more text {\r\n\r\n\tsome code here(int a, int b{\
\t
)。看起来选项卡已被替换为空白,在显示文本时不会显示空白。什么可能导致此错误?我如何修复它
正确保存的文本示例:
"lots of text;\r\n\r\some more text {\r\n\r\n\tsome code here(int a, int b{\r\n\t\t\tif(a%2==0)"
神秘的问题文本示例:
" some text\r\n some more text\r\n come code\r\n bla bla\r\n end end\r\n "
注意:文本输入,但当用户单击Submit时,文本会转移到隐藏的文本区域
在开发中本地运行时,我无法复制此错误。这只发生在制作中的某些提交(在Heroku上)
更新:隐藏文本区域有时会显示带空格的文本,但ace编辑器无法在其分区中正确显示该文本。如何将值设置为ace? 如果使用
editor.setvalue(str)
str=editor.getvalue()
string无法更改
但是如果您将文本设置为dom元素并调用
ace.edit
,您必须小心。是的,问题是我设置了dom元素。奇怪的是,它通常工作正常,但突然引起了一个bug…el.textContent=“str”
应该可以工作,但el.innerText
会根据应用的css更改文本。