有关应用Textarea的留意事项

为何要非常提textarea?由于实际上textarea这个连接点很独特。而由于这个连接点独特,因此在IE和其它访问器下,对它的解释不1样。

卖1下关子,哈哈!实际上关键缘故是今日帮1个师兄修1个BUG,实际是由于从服务器拉数据信息下来插到textarea的情况下不成功,这个状况只在IE出現。其它访问器1切一切正常!

最先,为何textarea独特?在全部的表单软件里边,textarea的值是写在两个启闭标识之间的,因此它的值在DOM的角度能够看做是文字连接点,这是textarea独有的。也正由于这个特点,因此当你改动它的innerHTML的值时你依然能够更改textarea的文字,而IE尽管适用这样做,却不容许1件事:动态性插进1些html标识。

你何不做1个试验:

在IE下根据JS插进1段HTML编码,用的是innerHTML特性而并不是value或innerText。

IE9+我是沒有去检测,可是IE6、7、8都会出错。

估算是出于安全性的缘故,因此才不容许JS动态性插进html进textarea,但仔细的人能够发现,实际上假如你手动式输入html编码的话,textarea是能够接纳的。我想实际上这亲身经历了这样1个全过程:标识符转义。对的,这是唯1可以解释手动式键入html编码取得成功的缘故了。

因此,我认为,既然那末多的访问器的textarea都不适用html的显示信息,为什么JS实际操作的情况下还要用innerHTML特性呢?也便是说不管你用value插进html编码還是用innerHTML插进html编码,它都不容易分析后显示信息(因此才会有富文字编写器替代textarea),那末为何无需value去设定textarea的值呢?

因此我觉得,设定textarea的值不可该根据innerHTML(自然更不能能是innerText,由于firefox的缘故),而要根据value去设定。这1点是开发设计人员要留意的。由于近期看的1些童鞋的编码老喜爱用innerHTML。实际上我觉得这全是要分场所的。