2012-09-25 40 views
0

在register.js里面我有一个叫做username()的函数,我想从我的网页调用它,但函数不会运行。javascript函数调用不工作

这里就是我包括.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

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

发生了什么:当<head>元素被处理时,文档体中还没有任何东西存在。您的元素username不存在,所以getElementById失败。

解决方案1 ​​<script type="text/javascript">username();</script>移动到</body>之前,所以一切都将到位。

解决方案2使用onload事件来运行你的Javscript后,一切与

<body onload="username()"> 

运行(jQuery有自己的onload事件处理为好。)

+0

谢谢!当你想到它时,这实际上是非常合乎逻辑的。 – dinners

2

您还没有元素id为username。 (您可能在文档中有一个较低的位置,但您没有与我们分享,但由于您直接调用该函数(而不是响应事件,例如load),而仍在<head>中它不会存在。)