[英]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.