gpt4 book ai didi

javascript - Textarea .val 通过 Ajax 发送数据时没有换行符

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:16:43 25 4
gpt4 key购买 nike

我看过很多关于如何向 .val 添加换行符的文章,但似乎没有一篇对我有用。我已经尝试了 jQuery 推荐的解决方法:

$.valHooks.textarea = {
get: function( elem ) {
return elem.value.replace( /\r?\n/g, "\r\n" );
}
};

但是,无论我做什么,文本仍然被挤成一行。

这是我的代码:

HTML:

 <div id="email-info">
<div id="email-top-row">
<div id="email-subject-container">
<label for="email-subject" class="email-labels">Subject:</label>
<input id="email-subject"></input>
</div>
<div id="email-from-container">
<label for="email-from" class="email-labels">From:</label>
<input id="email-from"></input>
</div>
</div>

<div id="email-body-container">
<label for="email-body" class="email-body">Body:</label>
<textarea id="email-body"></textarea>
</div>
<button id="email" onclick="emailSend()">Send Email</button>
</div>

Javascript:

function emailSend() {
$.valHooks.textarea = {
get: function( elem ) {
return elem.value.replace( /\r?\n/g, "\r\n" );
}
};

var emailSubject = $('#email-subject').val();
var emailFrom = $('#email-from').val();
var emailBody = $('#email-body').val();

emailURL = emailURL + '&email_subject=' + emailSubject;
emailURL = emailURL + '&email_from=' + emailFrom;
emailURL = emailURL + '&email_body=' + emailBody;

$.getJSON(emailURL, function(data) {
console.log(data);
});
}

现在,假设我将此添加到文本框:

test line 1

test line 2

test line 3

当我执行 console.log 时,它在控制台中正确显示换行符,但在网络检查器选项卡中,在我们的服务器上,发送的是 test line 1test line 2test line 3

我有点不知道如何在 url 中添加换行符。我已经看到很多关于 '\n' 的东西,但我从未在我的 url 或我的控制台日志中看到过。

如有任何帮助,我们将不胜感激。非常感谢。

最佳答案

在附加到您的 url 之前,您需要转义来自文本框的值:

var emailSubject = encodeURIComponent($('#email-subject').val());
var emailFrom = encodeURIComponent($('#email-from').val());
var emailBody = encodeURIComponent($('#email-body').val());

关于javascript - Textarea .val 通过 Ajax 发送数据时没有换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28157717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com