在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);
}
运作的?想不到,脱掉了我的头顶,但它应该。
答
你可以试试这个
$("button").click(function(){
$("#test").val($("<div>").html(data).text());
});
答
使用Jquery
html
功能,而不是val
:
success:function(data){
$('textarea').html(data);
}
val
将指派 “逃逸” 的价值,你想要的HTML表示 - html
。
手表this JSFiddle。
感谢SpoonNZ,但是当我尝试过它,我遇到了其他问题...另外根据jQuery API:“.val()方法主要用于获取表单元素的值,如输入,选择和textarea“。我认为这可能是设置该值的情况... – Paul 2012-01-18 02:43:55
是的,但您不想将值设置为“&eaucte;”,这是您传递的值。不要''htmlentities()'数据(这是最简单的方法),或者不要使用'val()'函数。 '$('textarea')[0] .innerHTML = data'怎么样? – SpoonNZ 2012-01-18 02:45:46
好的,我测试了我的原始答案,看起来很完美:http://jsfiddle.net/4UR7V/1/ - 你能提供更多关于问题的细节吗? – SpoonNZ 2012-01-18 02:47:15