我需要在input type = text中显示一个类似value ='dummy'的字符串。这是正确的方法吗? 如果我使用< input type = text value ='+ escape(str)+“'>我得到的值%3D%27dummy%27,如果我没有逃脱,我在第一次引用后看不到任何内容。 我希望以正确的方式看到字符串
答案 0 :(得分:2)
在这种情况下你需要使用unescape,试试
'<input type="text" value="'+unescape(str)+'">'
答案 1 :(得分:2)
我建议你不要使用字符串来定义值。而是选择DOM元素,并设置其值。
// Provided you select your input in the "input" variable
input.value = str
通过这种方式,您无需担心转义/取消转义。
答案 2 :(得分:1)
如果您的值被单引号括起来,那么:
"<input type='text' value='"+"John's".replace(/'/igm,"'")+"' />";
如果你的值被双引号括起来,那么:
'<input type="text" value="'+'"one two"'.replace(/"/igm,""")+'" />';
如果你不确定:
'<input type="text" value="'+'"one two Jon\'s"'.replace(/"/igm,""").
replace(/'/igm,"'")+'" />';
答案 3 :(得分:0)
<input type='text' value="value='dummy'"> </input>
编辑:抱歉,我意识到这不是你想要的,请参阅 gillesc 回答