Onclick()函数正常工作

时间:2012-09-04 19:25:00

标签: javascript

一切!使用简单的onclick方法时遇到问题。请帮帮我。这是代码......当我点击按钮时,没有真正发生的事情。

window.onload=initall();
var xhr = false;

function initall(){

    var btn=document.getElementById('btn');

    btn.onclick=alert('hi');
}



<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">

<title>Untitled Document</title>

<script type="text/javascript" src="testjs.js"></script>
</head>

<body>
<input type="text" required name="id">
<input type="button"  id="btn" value="send">
<div id="result"></div>
</body>

</html>

4 个答案:

答案 0 :(得分:2)

Onclick应该是一个函数,而不是一个声明。试试

btn.onclick=function(){ 
  alert('hi');
}

答案 1 :(得分:2)

window.onload=initall();

调用函数initall并将initall返回值指定为事件处理程序。也就是说,initall会立即执行,而不会在触发load事件时执行  类似于btn.onclick=alert('hi');。但在这两种情况下,返回值都不是函数。

您必须将函数分配给这些属性,然后在事件发生时调用这些属性。

function initall(){
    var btn = document.getElementById('btn');

    btn.onclick = function() { // creates and assigns the function at once
        alert('hi');
    };
}

window.onload = initall; // assign the function reference, no `()`.

我建议read the excellent tutorials at quirksmode.org了解事件处理,当然还有MDN JavaScript Guide的JavaScript基础知识。

答案 2 :(得分:1)

Try this for onclick javascript function call   


    function initall(){

        var btn=document.getElementById('btn');

        btn.onclick=alert('hi');
    }
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">

    <title>Untitled Document</title>

    <script type="text/javascript" src="testjs.js"></script>
    </head>

    <body>
    <input type="text" required name="id">
    <input type="button"  id="btn" value="send" onclick="javascript:initall();">
    <div id="result"></div>
    </body>

    </html>

答案 3 :(得分:0)

试试这个:http://jsfiddle.net/uxfD4/

onclick赋值接受一个函数。你的代码所做的是评估alert('hi'),返回null。