找回密码
 注册

[JS] JS获取和设置textarea控件的值

php 发表于 2013/12/8 01:17 | 显示全部楼层 |阅读模式
JS要操作textarea控件,设置或获取文域的内容,可以通过textarea的innerHTML和/或value属性来操作。
但是在不同的浏览器中这两个属性是有区别的。以下假设变量textarea为一个textarea控件。
在非IE浏览器(本文指Firefox/Chrome/Opera/Safari等浏览器,下同)中,通过textarea.value='xxxx'改变textarea的值后,textarea.innerHTML的值不会改变,同理,通过textarea.innerHTML改变的值也不会影响t.value的值,也就是说textarea.value和textarea.innerHTML是两个不通的属性,属性值也互不相同相通。
在IE浏览器中,无论是通过textarea.value还是textarea.innerHTML都会同时改变textarea.value和textarea.innerHTML这两个属性的值,并且他们始终保持一致。
在非IE浏览器中,用户输入或修改textarea控件中的内容后,使用textarea.value才能获取到最终正确的值,使用textarea.innerHTML获取不到,而IE浏览器中两个属性都都可以。
试看以下代码:
<textarea id="t">初始值</textarea>
<a href="javascript:;">点击测试</a>
<script type="text/javascript">
function test(){
        var textarea=document.getElementById('t');
        alert('value:'+textarea.value);
        alert('innerHTML:'+textarea.innerHTML);
        t.value='333333';
        alert('value设置为333333');
        alert('value:'+textarea.value);
        alert('innerHTML:'+textarea.innerHTML);
        t.innerHTML='666666';
        alert('innerHTML设置为666666');        
        alert('value:'+textarea.value);
        alert('innerHTML:'+textarea.innerHTML);
}
onload=function(){
        test();
        alert('请手动修改一次输入框的值,然后点击测试。');
}
</script>

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表