0

有什么方法可以检查文本框值是否已经被 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 '';
        }
    }

对于文本框或 alt+tab 到其他窗口等的每个焦点...文本多次编码。需要一些建议。

提前致谢

4

1 回答 1

0

我认为您混淆了客户端和服务器端的工作。当您在服务器端设置恰好包含 HTML 实体的元素的 val 时,您必须对其进行编码,因为它需要知道所有文本都是值的一部分,而不是新标记。当客户端时,您可以只设置值,例如$('#txtLink').val('<div>Hello <span>World</span></div>')设置或检索(或发布)不需要编码/解码

于 2013-02-08T14:33:10.003 回答