[英]Textarea .val No Line Breaks when Sending Data via Ajax
我已經看過很多關於如何在.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
。
我有點不知道如何在網址中添加換行符。 我看過很多關於'\\ n'的內容,但我從來沒有在我的網址或控制台日志中看到過。
任何幫助將不勝感激。 非常感謝你。
在附加到您的網址之前,您需要從文本框中刪除您的值:
var emailSubject = encodeURIComponent($('#email-subject').val());
var emailFrom = encodeURIComponent($('#email-from').val());
var emailBody = encodeURIComponent($('#email-body').val());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.