2010,正心,修身,养性。
焚我残躯,毁我意志,复我记忆。
子曰:“知之者不如好之者,好之者不如乐之者。”
子曰:“吾尝终日不食,终夜不寝,以思,无益,不如学也。”

快乐的生活,快乐的分享。

input value值的转义

昨天测试过来的bug,检查了下是因为input value值的问题,因为我代码里使用的是innerHTML做的,类似这样:

el.innerHTML = '<input type="text" value="' + str + '" />';

很明显,如果str内包含”的话自然会出现问题,当时觉得蛮简单的,我用\转义一下不就行了吗?结果发现不行,原因在于,\是JavaScript的转义符,而这里是html,并不会去认JavaScript的转义符,所以,有两个办法解决这个问题,一种是使用正常的dom方法,先创建一个input,然后为input.value赋值,这里就不存在这个”的问题了,另外一种方法是使用html转义符&quot;或者十进制的&#34;或者其它。。。来进行转义,方法是:

el.innerHTML = '<input type="text" value="' + str.replace(/"/g,'&#34') + '" />';

Demo:http://www.12sui.cn/test/html-value-escape-0911.html

标签:

这篇文章发布于 2009年11月11日,星期三,08:39,归类于 HTML, JavaScript。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。 您可以留下评论,或者从您的站点trackback

雁过留声

Rss
渴望孩子的纯真、诚实、可爱、无忧无虑。。。。。。

这位姐姐,你好,你的浏览器版本太低了,为了避免您中毒,请您升级您的浏览器!