在jQuery GET请求之后使用特殊字符填充textarea

问题描述:

当使用jQuery GET请求中的特殊字符填充textarea时,特殊字符显示为html代码。例如。 é rather than é.在jQuery GET请求之后使用特殊字符填充textarea

PHP文件使用htmlentities输出文本。例如。 echo htmlentities($text);

的jQuery请求的相关部分是在这里:

success:function(data){ 
    $('textarea').val(data); 
} 

success:function(data){ 
    $('textarea').html(data); 
} 

运作的?想不到,脱掉了我的头顶,但它应该

+0

感谢SpoonNZ,但是当我尝试过它,我遇到了其他问题...另外根据jQuery API:“.val()方法主要用于获取表单元素的值,如输入,选择和textarea“。我认为这可能是设置该值的情况... – Paul 2012-01-18 02:43:55

+2

是的,但您不想将值设置为“&eaucte;”,这是您传递的值。不要''htmlentities()'数据(这是最简单的方法),或者不要使用'val()'函数。 '$('textarea')[0] .innerHTML = data'怎么样? – SpoonNZ 2012-01-18 02:45:46

+0

好的,我测试了我的原始答案,看起来很完美:http://jsfiddle.net/4UR7V/1/ - 你能提供更多关于问题的细节吗? – SpoonNZ 2012-01-18 02:47:15

你可以试试这个

$("button").click(function(){ 
    $("#test").val($("<div>").html(data).text()); 
}); 

使用Jqueryhtml功能,而不是val

success:function(data){ 
    $('textarea').html(data); 
} 

val将指派 “逃逸” 的价值,你想要的HTML表示 - html

手表this JSFiddle。