0

在 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";
}
4

2 回答 2

2

您没有带有 id 的元素username

(您可能在文档中有一个较低的内容,您尚未与我们共享,但由于您直接调用该函数(load而不是响应事件,例如<head>.)

于 2012-09-25T16:42:48.643 回答
2

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

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

解决方案 1移动<script type="text/javascript">username();</script>到就在前面,</body>这样一切都将就位。

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

<body onload="username()">

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

于 2012-09-25T16:44:49.873 回答