当通过ajax提交表单时,如何在textarea中保存“输入键值”

时间:2013-09-14 17:32:51

标签: jquery asp.net ajax

前几天我正在使用简单的表单提交,其中textarea工作正常!我的意思是值已成功发送到数据库,包括\n。在使用@Html.Raw()string.Replace()时,我能够将\n转换为<br />

我现在面临的问题是提交了ajax。并且所有字段值都被发送到下一页并且响应被捕获!但是回应并不是我想要的。我的意思是,所有\n都没有发送到服务器,因此它们不会与其他文本一起保存,因此无法帮助我在某些点打破文本。

我正在使用的Ajax请求是:

function submitBasic() {
            $.ajax({
                url: "/ajax_requests/update_profile",
                data: "about=" + $("#about").val(),
                success: function (data) {
                    $(".basic-data").html(data);
                }
            });
        }

这会将数据发送到下一页,我尝试使用开发者工具来了解请求的发送方式。在那里我发现\n不包括在内。这就是问题所在。

任何人都可以告诉我,我如何将\n与其他数据一起传递?这样我可以在想要展示时获得价值?

欢迎任何建议!我希望我让你理解我想要的,如果不是,请在这里评论!我会clafiy。

2 个答案:

答案 0 :(得分:2)

我认为你应该这样做

data: "about=" + $("#about").html().(/\n/g, "%5Cn")

老答案!: 首先在客户端更改此行代码

data: "about=" + $("#about").val()

到:

data: "about=" + $("#about").html().(/\n/g, "<br/>").replace(/</g,"&lt;").replace(/>/g,"&gt;")

然后在服务器端

var recivedData = WebUtility.HtmlDecode(about);

然后使用它

答案 1 :(得分:0)

您可以通过ajax通话发送\n\\n

    function submitBasic() {
        $.ajax({
            url: "/ajax_requests/update_profile",
            data: "about=" + $("#about").val().replace(/\\n/g, "\\n"),
            success: function (data) {
                $(".basic-data").html(data);
            }
        });
    }

我希望你现在可以在服务器端收到\n,并且可以做所需的东西来解析它。