我在将html加载到输入字段值时遇到问题。作为图片。
A)当我保存它时:
B)当我加载它时:
C)用于创建输入字段的代码:
var templateField;
templateField = '<input type="text" id="' + fieldName + '" maxlength="' + args.maxlength + '" value="' + args.value + '"/>';
$controller.append(templateField);
注意: 我无法先添加 templateField ,然后再执行 innerHtml ,因为我不知道将使用哪种类型的值(日期,布尔值等) 。该控制器用于创建动态字段。当值的类型是String并且用户在字段中放置html值时,我遇到了这个问题。
答案 0 :(得分:0)
您需要在设置之前转义值:
function replaceStr(str) {
return str
.replace(/&/g, "&")
.replace(/"/g, """)
.replace(/'/g, "'")
.replace(/</g, "<")
.replace(/>/g, ">");
}
value="' + replaceStr(args.value) + '"
在这种情况下,单引号替换是可选的。