javascript函数调用不起作用

时间:2012-09-25 16:40:46

标签: javascript

在register.js中我有一个名为username()的函数,我想从我的网页上调用它,但函数不会运行。

这是我包含.js文件并调用函数的地方:

<head>
        <link rel="stylesheet" href="css/base.css" />
        <script src="resources/jquery-1.8.1.min.js"></script>
        <script src="resources/register.js"></script>
        <script type="text/javascript">username();</script>
</head>

这是在.js文件中:

function username(){
    document.getElementById("username").innerHTML="Username already in use";
}

2 个答案:

答案 0 :(得分:2)

您没有ID为username的元素。

(您可能在文档中有一个较低的版本,您尚未与我们分享,但由于您直接调用该函数(而不是响应某个事件,例如load)在<head>它将不存在。)

答案 1 :(得分:2)

这是刚从Javascript开始的人们常犯的错误。麻烦的是,如果你不知道该怎么称呼它,很难找到答案。

发生了什么:处理<head>元素时,文档正文中还没有任何内容。您的元素username不存在,因此getElementById失败。

解决方案1 ​​<script type="text/javascript">username();</script>移至</body>之前,以便一切就绪。

解决方案2 使用onload事件在其他所有内容运行后运行您的Javscript

<body onload="username()">

(jQuery也有自己的onload事件处理。)