日期:2014-05-17  浏览次数:20459 次

如何引用一个 Html 控件对象?
其实, 也就只是想获取网页中的一个文本框的内容!

HTML code

。。。
    <script language="javascript" type="text/javascript">

        //定义 文本框 的内容发生更改时的事件
        function textName_Change() {
            divMsg.innerHTML = textName.value;   // 语句错误?
        }

    </script>
。。。
        <!-- Html 服务器控件 属性 'runat'-->  
        <div>
        
          用户名:  
          <input id="textName" type="text" value = "UserName"  onchange ="return textName_Change()" />
        </div>
        
        <!-- 显示输入的信息-->
        <div id ="divMsg"> </div>



运行出错:‘ textName 未定义 ’ ??? 那不也是个 ID 号么??像这条语句 divMsg.innerHTML = "Hello!"; 使用ID标识 Div 控件 来显示信息,能正常运行 而且书上的例子也是这样赋值的??

又用doucument获取 ID 对象,但第一次定义成这样的:
HTML code

    <script language="javascript" type="text/javascript">
        // 获取文本框对象
        var text = document.getElementById("textName"); 

        function textName_Change() {
            //alert(text);        //null
            //text = document.getElementById("textName"); // 正确的
            divMsg.innerHTML = text.value;  
        }
    </script>


错误是: ‘缺少对象’? 但是使用注释下的那个语句,在函数内部赋值,就可以正常显示??

初学, 很是不明白 JS 到底是怎么一回事 ??

------解决方案--------------------
楼主,我运行了你的代码,效果是出来了,JS报错和你说的错误时一样的我做了下修改,现在可以了,代码如下:
<script language="javascript" type="text/javascript">

//定义 文本框 的内容发生更改时的事件
function textName_Change() {
divMsg.style.display = "block";
divMsg.innerHTML = form1.textName.value; // 语句错误?
}
红色标注的地方就是你页面上的formID。

</script>
------解决方案--------------------
document.getElementById("textName").value
------解决方案--------------------
id不是这样用的,得获取对象,document.getElementById("divMsg")
之后进行你想进行的操作
------解决方案--------------------
JS要引用 Html 控件对象 首先肯定要先获取到这个对象 才能对这个对象进行操作撒
------解决方案--------------------
divMsg.innerHTML = textName.value这个火狐是可以这样用的,IE内核的不支持
这样是通用的divMsg.innerHTML = document.getElementById( "textName").value;