Dav*_*vid 5 javascript ajax jquery
我已经看了很多关于如何向.val添加换行符的文章,但是似乎没有一个对我有用。我尝试了jQuery建议的解决方法:
$.valHooks.textarea = {
get: function( elem ) {
return elem.value.replace( /\r?\n/g, "\r\n" );
}
};
Run Code Online (Sandbox Code Playgroud)
但是,无论我做什么,文本仍会被粉碎成一行。
这是我的代码:
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>
Run Code Online (Sandbox Code Playgroud)
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);
});
}
Run Code Online (Sandbox Code Playgroud)
现在,说我将其添加到文本框中:
test line 1
test line 2
test line 3
Run Code Online (Sandbox Code Playgroud)
当我执行console.log时,它会正确显示在控制台中并带有换行符,但在网络检查器选项卡以及我们的服务器上,发送的是test line 1test line 2test line 3。
我有点不知道如何在网址中添加换行符。我已经看到了很多有关'\ n'的内容,但从未在URL或控制台日志中看到。
任何帮助将不胜感激。非常感谢你。
在附加到您的网址之前,您需要转义来自文本框的值:
var emailSubject = encodeURIComponent($('#email-subject').val());
var emailFrom = encodeURIComponent($('#email-from').val());
var emailBody = encodeURIComponent($('#email-body').val());
Run Code Online (Sandbox Code Playgroud)