警报信息不起作用

时间:2012-08-16 03:10:08

标签: javascript

html嵌入了javascript

<html>
<head>
        <title>Example</title>

        <script type ="text/javascript">
我正确地调用了这个函数????

function displayatts()
{
    document.getElementById("buttonone").onclick = saysomething;

}

这里有什么问题???

function saysomething()
{
    alert("I am 28 years old");
}
</script>

<body>
<input type="button" id="buttonone" value="me" >

</body>
</head>
</html>

5 个答案:

答案 0 :(得分:1)

您的脚本在解析文档之前运行 因此,getElementById返回null。

<script>移到底部。

答案 1 :(得分:1)

  

“我是否正确调用了这个函数????”

您根本没有调用displayatts()功能。将以下内容添加到脚本的末尾:

window.onload = displayatts;

一旦页面加载完毕,将自动调用displayatts()。反过来,它会在你的按钮上设置点击处理程序。

此外,请在开始</head>代码之前添加结束<body>代码。

演示:http://jsfiddle.net/nnnnnn/rxDXa/

答案 2 :(得分:1)

以下是完整的示例。

这肯定会奏效。 如果你想要测试它。 将以下代码复制并粘贴到W3Schools测试环境中,“编辑并单击我”进行测试。

http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_iframe

<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<script type ="text/javascript">

    function saysomething()
    {
        alert("I am 29 years old");
    }

    function displayatts()
    {
        document.getElementById("buttonone").onclick = saysomething;

    }

</script>


<body onload="displayatts();">
 <input type="button" id="buttonone" value="me" >
</body>
</head>
</html>

答案 3 :(得分:0)

window.onload  =  displayatts;

答案 4 :(得分:0)

将此代码粘贴到页面中的</body>标记之前。因此,您可以确定元素是否为null,或者代码在呈现html元素之前尝试工作。 希望这有助于你的情况..

<script>
var element = document.getElementById("buttonone");
if(element){
element.setAttribute("onclick", "saysomething();");
}else
{
alert("element null, move the code to bottom or check element exists");
}
</script>