我有一个Web服务,它会带回数据并将其插入文本区域,我不希望它作为占位符。当用户第一次加载页面时,它应该显示占位符,但是一旦webservice运行,它应该显示从webservice返回的内容。几个月来它一直在我的Chrome上完美运行,但现在在IE上进行测试并且无法正常工作。文本被加载但随后在用户单击框中时消失。占位符和文本都被删除。当查看源时,数据正在正确加载,文本区域显示:
<textarea rows="20" cols="50" placeholder="Insert things here" id="mytextarea">MY DATA</textarea>
当我专注于IE中的方框时,基本“我的数据”中的消失了
答案 0 :(得分:1)
更改
$('#mytextarea').text("MY DATA");
到
$('#mytextarea').val("MY DATA");
让它发挥作用,因为。
textarea
是需要输入的元素,所有这些类型的元素(文件,文本,文本区,选择等)都有.val()
方法来获取/存储数据,因为它们不应该存储任何内容(作为子元素)。
在其他不支持互动的方面(来自用户的输入),例如div
或section
或table
等,用于显示任何部分或数据,以便{{1 }或.text()
方法。这两种方法都得到/设置元素的子元素(.html()
不这样做。)
.val()
获取/设置为纯文本,而.text()
执行相同但它将数据视为html。 Refer.
答案 1 :(得分:0)
更改:
$('#mytextarea').text("MY DATA");
为:
$('#mytextarea').val("MY DATA");
让它发挥作用,不知道为什么或如何有所作为感谢帮助,即使我自己弄明白了。