textarea标签没有value属性,若想在文本区显示默认文本,可以直接写,如下:
<textarea cols="30" rows="10" name="文本区" id="area">你好呀</textarea>
或在js中使用
document.getElementById('area').value='你好呀‘
都可以在文本区显示输入的文字,如下图所示:
也可以使用.innerHTML
进行赋值,结果是一样的。但是如果在网页中文本区输入新的内容,.innerHTML
是获取不了新输入的内容的,只能获取原有赋值;此时.value
是可以获得网页文本区的全部内容的。
举例说明:
<body>
<textarea id="area" cols="30" rows="10" name="文本区">原始文本
</textarea>
<p id="res"></p>
</body>
<script type="text/javascript">
getVal=document.getElementById('area').value;
get=document.getElementById('area').innerHTML;
console.log('get='+get);
console.log('getVal='+getVal);
</script>
若向文本区输入“新输入文本”,刷新,有如下结果:
综上,若想获得文本区内容,还是应该使用value属性。
具体什么原因我不清楚,有大神知道麻烦评论哈,我也想知道原因噻。