我需要value='dummy'
在 input中显示一个字符串type=text
。哪种方法是正确的?
如果我使用<input type=text value='+escape(str)+"'>
我得到value%3D%27dummy%27
。如果我不逃避,那么在第一次引用之后我什么也看不到。我想以正确的方式查看字符串。
我需要value='dummy'
在 input中显示一个字符串type=text
。哪种方法是正确的?
如果我使用<input type=text value='+escape(str)+"'>
我得到value%3D%27dummy%27
。如果我不逃避,那么在第一次引用之后我什么也看不到。我想以正确的方式查看字符串。
在这种情况下你需要使用 unescape,试试
'<input type="text" value="'+unescape(str)+'">'
我建议您不要使用字符串来定义值。相反,选择 DOM 元素并设置其值。
// Provided you select your input in the "input" variable
input.value = str
这样,您不必为转义/取消转义而烦恼。
如果您的值被单引号包围,那么:
"<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,"'")+'" />';
<input type='text' value="value='dummy'"> </input>
编辑:抱歉,我意识到这不是您想要的,请参阅gillesc答案