jQuery的.VAL()没有返回换行符在一个textarea [英] Jquery .val() not returning line-breaks in a textarea
本文介绍了jQuery的.VAL()没有返回换行符在一个textarea的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有问题,在textarea的换行符。
I got problem with line breaks in a textarea.
我得到.VAL()函数的文本:
I get the text with .val() function:
var messageBody = $('#composeInput').val();
这是我的Ajax请求
$.ajax({
url: 'serverScripts/messages/addMessage.php',
data: 'messageBody='+messageBody+'&invitedJSONText='+invitedJSONText,
success: function(){
//Do something
}
});
和PHP:
$messageBody = nl2br(mysql_real_escape_string($_GET['messageBody']));
正文:
您好!
你怎么样?
变成了:
你好!你怎么样?
如果我插入变量消息体到另一个分区元素我看不到任何\ n是这种正常的。我该如何解决这个问题?
If I insert the variable messageBody to an another div-element I can't see any \n is this normal. How do I fix this?
推荐答案
当你传递一个字符串作为数据参数,你必须URL连接code这样的:
When you pass a string as the data parameter, you must URL encode it like this:
'messageBody=' + encodeURIComponent(messageBody) + '&invitedJSONText=' + encodeURIComponent(invitedJSONText)
如果您传递的参数为对象,采取jQuery的编码数据的护理:
If you pass the parameters as an object, jQuery takes care of encoding the data:
$.ajax({
url: 'serverScripts/messages/addMessage.php',
data: {
messageBody: messageBody,
invitedJSONText: invitedJSONText
},
success: function (data, textStatus, jqXHR) {
$("#foo").html(data); // <-- did something
}
});
这篇关于jQuery的.VAL()没有返回换行符在一个textarea的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文