有什么方法可以检查文本框值是否已经经过 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 到其他窗口等...文本会进行多次编码。 需要一些建议。
提前致谢
我认为您混淆了客户端和服务器端的工作。当您在服务器端设置恰好包含 HTML 实体的元素的 val 时,您必须对其进行编码,因为它需要知道所有文本都是值的一部分,而不是新标记。当客户端时,您只需设置该值即可,例如
$('#txtLink').val('<div>Hello <span>World</span></div>')
设置或检索(或发布)无需编码/解码
专供选定的 SNACK 用户,从即日起至 2023 年 10 月 8 日,支付总保费^可享受高达 10% 现金返还*。