首页 > 解决方案 > 如何保存带有换行符或行间空格的文本?

问题描述

我在弹出对话框中有一个备注字段,并且有一个保存按钮。

如果我写的文本超过 1 行,则文本将粘贴在一起,没有空格或换行符。

例子

如何在行之间(在文本区域中)保存带有换行符或空格的文本?

文本区域:

<div class="k-edit-form-container"  style="margin-top: 8px;">
    <textarea class="k-textbox" id="valueExplenation" multiple="multiple" />
</div>

按钮:

<a role="button" id="saveExplenation" class="" href="#" onclick="saveValue($('#valueExplenation').val());">Save</a>

将数据推送到控制器中的函数:

function saveValue(value) {
    $.ajax({
        method: "GET",
        url: host + "/api/home/saveValue/" + myId + "/" + value,
        data: value,
        dataType: "json",
        async: false,
        cache: false
    })

GET 函数的标头

[System.Web.Http.HttpGet]
[System.Web.Http.Route("api/home/saveValue/{id:long}/{value}")]
public bool SaveValue(long id, string value)
{
...

标签: javascriptc#ajaxmodel-view-controllerkendo-asp.net-mvc

解决方案


你真的应该像这样发布数据。这就是 POST 的用途。GET 用于传递简单变量以获取响应或允许缓存请求。POST 用于发送数据,并内置了浏览器的支持(比如不允许某人在不警告他们的情况下刷新和再次 POST)

textarea 将发送数据,因为它出现在 textarea 中(带有\n换行符)。<br />如果要显示该数据,可以用标签替换换行符。用 php 它是<?php echo nl2br($string);?>,用 javascript 它会像document.querySelector('div').innerHTML = string.replaceAll("\n","<br />")


推荐阅读