Jquery 如何检查输入值是否为html编码
有没有办法检查文本框值是否已经是html编码的 对于页面验证,我在文本框外的焦点上使用以下代码Jquery 如何检查输入值是否为html编码,jquery,html-encode,Jquery,Html Encode,有没有办法检查文本框值是否已经是html编码的 对于页面验证,我在文本框外的焦点上使用以下代码 $(document).ready(function() { $('#txtLink').focusout(function(){ $('#txtLink').val(htmlEncode($('#txtLink').text())); }); }); function htmlEncode(value){
$(document).ready(function() {
$('#txtLink').focusout(function(){
$('#txtLink').val(htmlEncode($('#txtLink').text()));
});
});
function htmlEncode(value){
if (value) {
return jQuery('<div />').text(value).html();
}
else {
return '';
}
}
function htmlDecode(value) {
if (value) {
return $('<div />').html(value).text();
}
else {
return '';
}
}
$(文档).ready(函数(){
$('#txtLink').focusout(函数(){
$('#txtLink').val(htmlEncode($('#txtLink').text());
});
});
函数htmlEncode(值){
如果(值){
返回jQuery(“”).text(value).html();
}
否则{
返回“”;
}
}
函数htmlDecode(值){
如果(值){
返回$('').html(value.text();
}
否则{
返回“”;
}
}
对于文本框外的每个焦点或alt+tab到其他窗口等。。。文本被多次编码。
我需要一些建议
提前感谢我认为您混淆了客户端和服务器端的工作。在服务器端设置恰好包含HTML实体的元素的val时,必须对其进行编码,因为它需要知道所有文本都是值的一部分,而不是新标记。在客户端时,您可以只设置值,例如
$('#txtLink').val('Hello World')
设置或检索(或发布)时不需要编码/解码。为什么将值作为txtLink
的val进行html编码?您希望它在txtLink
中显示为
还是显示为div
?页面上除了提交之外还有多个回发事件。所以我没有找到另一个解决方案。你没有回答我的问题。我认为您混淆了客户端和服务器端的工作。在服务器端设置恰好包含HTML实体的元素的val时,必须对其进行编码,因为它需要知道所有文本都是值的一部分,而不是新标记。在客户端时,您只需设置值,例如,$(“#txtLink”).val('Hello World')
设置或检索(或发布)无需编码/解码。感谢您的回复。你是对的。在文本框中显示编码值没有问题。它在管理部分。那么你的问题是结束了还是有其他问题?如果是这样的话,要么删除它,要么告诉我提交我的评论作为答案,这样你就可以接受它,这样其他人就可以在将来搜索结果。谢谢