0

我需要value='dummy'在 input中显示一个字符串type=text。哪种方法是正确的?

如果我使用<input type=text value='+escape(str)+"'> 我得到value%3D%27dummy%27。如果我不逃避,那么在第一次引用之后我什么也看不到。我想以正确的方式查看字符串。

4

4 回答 4

2

在这种情况下你需要使用 unescape,试试

'<input type="text" value="'+unescape(str)+'">'

http://www.w3schools.com/jsref/jsref_unescape.asp

于 2012-04-26T10:37:34.533 回答
2

我建议您不要使用字符串来定义值。相反,选择 DOM 元素并设置其值。

// Provided you select your input in the "input" variable
input.value = str

这样,您不必为转义/取消转义而烦恼。

于 2012-04-26T10:44:44.593 回答
1

如果您的值被单引号包围,那么:

"<input type='text' value='"+"John's".replace(/'/igm,"&apos;")+"' />";

如果您的值被双引号括起来,那么:

'<input type="text" value="'+'"one two"'.replace(/"/igm,"&quot;")+'" />';

如果您不确定:

'<input type="text" value="'+'"one two Jon\'s"'.replace(/"/igm,"&quot;").
   replace(/'/igm,"&apos;")+'" />';
于 2012-10-23T02:52:20.640 回答
0
    <input type='text' value="value='dummy'">   </input>

编辑:抱歉,我意识到这不是您想要的,请参阅gillesc答案

于 2012-04-26T10:37:40.460 回答