繁体   English   中英

摩纳哥getValue()中的编辑器换行符

[英]Monaco Editor newline in getValue()

因此,我将Monaco编辑器用作具有语法高亮显示的大型文本区域,该文本区域以带有JavaScript的形式提交。 为了使这种情况发生,我有一个<input type="text" id="content" name="content" style="display: none;">标记,并且JavaScript连接到执行此操作的按钮:

function submitButtonClick(){
  document.getElementById("content").value = monacoeditor.getValue();
  document.getElementById("myForm").submit();
}

这可以正常工作,并且确实可以提交表单,但是getValue()调用似乎可以在摩纳哥编辑器中返回不含换行符的文本。 在摩纳哥看起来像这样的文字:

#Hello World
*I am some text*

这样返回:

#Hello World*I am some text*

如何确保获得编辑器的内容,包括所有换行符?

问题是HTML的<input type="text">不支持换行符。 它用于单行输入(想象中的用户名包含换行符)。

对于多行输入,有一个<textarea>标记,它只是一个表单元素,与其他任何元素一样。 您的表格将如下所示:

<form id="myForm" action="..." method="POST">
    <textarea id="content" name="content" style="display: none;"></textarea>
</form>

然后,您可以像以前一样设置textarea的值并提交表单:

function submitButtonClick () {
    document.getElementById ("content").value = monacoeditor.getValue ();
    document.getElementById ("myForm").submit ();
}

您应该使用<input type="hidden" id="content" name="content" style="display: none;">

从摩纳哥提取数据时,换行符为/n字符。 在某些情况下,这不能单独使用,因为还需要回车。

String.replace("\n", "\r\n");

应该解决这个问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM