Jquery 如何检查输入值是否为html编码

Jquery 如何检查输入值是否为html编码,jquery,html-encode,Jquery,Html Encode,有没有办法检查文本框值是否已经是html编码的 对于页面验证,我在文本框外的焦点上使用以下代码 $(document).ready(function() { $('#txtLink').focusout(function(){ $('#txtLink').val(htmlEncode($('#txtLink').text())); }); }); function htmlEncode(value){

有没有办法检查文本框值是否已经是html编码的

对于页面验证,我在文本框外的焦点上使用以下代码

    $(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')
设置或检索(或发布)无需编码/解码。感谢您的回复。你是对的。在文本框中显示编码值没有问题。它在管理部分。那么你的问题是结束了还是有其他问题?如果是这样的话,要么删除它,要么告诉我提交我的评论作为答案,这样你就可以接受它,这样其他人就可以在将来搜索结果。谢谢