jQuery的.VAL()没有返回换行符在一个textarea [英] Jquery .val() not returning line-breaks in a textarea

查看:1743
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆