空白丢失后的字符 - javascript

时间:2013-08-21 00:02:30

标签: javascript

我正在做这样的事情:

 var MESSAGE = "part1 part2";
  var fName = $("<input type=\"text\" class=\"fieldname\" size=35  disabled=disabled   value=" + MESSAGE + " />" );

文本框的值原来是“part1”,缺少第2部分。即空白后的字符。这里有什么错误?

2 个答案:

答案 0 :(得分:5)

您应该为您的值添加"

var MESSAGE = "part1 part2";
  var fName = $("<input type=\"text\" class=\"fieldname\" size=35  disabled=disabled   value=\"" + MESSAGE + "\" />" );

否则,您的浏览器会将“part2”解释为“class”或“size”等新属性。

答案 1 :(得分:1)

一个改进可能是使用jQuery .attr()函数,因为它会自动转义HTML实体,例如"。我们建议您这样做,除非您完全确定您的邮件不包含任何"<>

var MESSAGE = "part1 part2";
var fName = $("<input">).attr({
    type     : "text",
    class    : "fieldname",
    size     : "35",
    disabled : "disabled",
    value    : MESSAGE
});

现在你很安全。