0
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">

为什么函数在被 JavaScript 调用changeText时起作用,onclick="changeText('tare.e')"但在 JavaScript 中调用时不起作用

function changeText(idname,newtext)
{

   document.getElementById(idname).value = newtext;
}

changeText('tare.e','from javascript' );
// Calling here causes the error: `Unable to set value of the property 'value': object is null or undefined` 

</script>

<input id="tare.e" value="text" >
<input id="tare.e_button" type="button"  value="BUTTON"  onclick="   changeText('tare.e','from button')"/>

</body>
</html>
4

3 回答 3

0

您在文档加载之前调用 changeText() 。如果您想在文档首次加载时执行该函数,请在 onload 事件中调用它,例如:

<html>
    <head>
    <script type="text/javascript">
    function changeText(idname,newtext) {
       document.getElementById(idname).value = newtext;
    }

    function window_onload()
    {
    changeText('tare.e','from javascript' );
    }
    </script>
    </head>
<body onload='window_onload()'>
<input id="tare.e" value="text" >
<input id="tare.e_button" type="button"  value="BUTTON"  onclick="   changeText('tare.e','from button')"/>

</body>
</html>
于 2013-01-29T22:25:34.703 回答
0

我发现this about functions ..我仍然对功能感到困惑,希望它可以帮助你

于 2013-01-29T22:29:22.283 回答
0

您的 JavaScript 在 HTML 完全加载之前运行。

将以下内容放在您的 JavaScript 代码周围...

window.onload = function () {

   changeText('tare.e','from javascript' );

};

这可确保您的代码在页面加载时运行。

于 2013-01-29T22:11:58.323 回答