JavaScript - 从textarea获取Multiline值

时间:2014-04-12 17:57:16

标签: javascript jquery html cookies

我想使用js或jquery从textarea获取Multiline值并将其保存到cookie中。这是代码的样子:

HTML:

<textarea id="cont" cols="72" rows="15">

JS:

var txt = $('#cont').val();

变量&#39; txt&#39;如果它不是多行的,那么可以很好地保存到cookie中,但是当它有多行时它不会保存。

这是我的设置Cookie:

function SetCookie(cookie_name, data){
var domain = wgServer.split("//")[1];
document.cookie =
    cookie_name + "=" + data +
    "; max-age=" + 60*60*24*150 +
    "; path=/; domain=" + domain;
}  

2 个答案:

答案 0 :(得分:1)

虽然严格来说不是必需的,但对URL值进行URL编码是一种很好的做法,以避免出现特殊字符的意外情况。

function SetCookie(cookie_name, data){
    var domain = wgServer.split("//")[1];
    document.cookie =
        cookie_name + "=" + encodeURIComponent(data) +
        "; max-age=" + 60*60*24*150 +
        "; path=/; domain=" + domain;
    }  

同样,在阅读时使用decodeURIComponent

答案 1 :(得分:0)

我认为您需要使用encodeURIComponent(),decodeURIComponent()对这些换行进行编码和解码,因为您无法在Cookie名称和/或值中使用某些字符。它可能是浏览器特定的问题,因为js在浏览器中运行,实现可能不同。