html成输入值

时间:2014-11-14 14:27:18

标签: javascript jquery html

我在将html加载到输入字段值时遇到问题。作为图片。

A)当我保存它时:

enter image description here

B)当我加载它时:

enter image description here

C)用于创建输入字段的代码:

var templateField;
templateField = '<input type="text" id="' + fieldName + '" maxlength="' + args.maxlength + '" value="' + args.value + '"/>';
$controller.append(templateField);

注意: 我无法先添加 templateField ,然后再执行 innerHtml ,因为我不知道将使用哪种类型的值(日期,布尔值等) 。该控制器用于创建动态字段。当值的类型是String并且用户在字段中放置html值时,我遇到了这个问题。

1 个答案:

答案 0 :(得分:0)

您需要在设置之前转义值:

function replaceStr(str) {
  return str
    .replace(/&/g, "&amp;")
    .replace(/"/g, "&quot;")
    .replace(/'/g, "&#39;")
    .replace(/</g, "&lt;")
    .replace(/>/g, "&gt;");

}

value="' + replaceStr(args.value) + '"

在这种情况下,单引号替换是可选的。