簡體   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