-1

すべて!単純な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

4 に答える 4

2

Onclickは、ステートメントではなく関数である必要があります。試す

btn.onclick=function(){ 
  alert('hi');
}
于 2012-09-04T19:27:03.697 に答える
2
window.onload=initall();

関数を呼び出し、イベント ハンドラとしての戻り値initall割り当てます。つまり、イベントがトリガーされたときではなく、すぐに実行されます。 についても同様です。ただし、どちらの場合も、戻り値は関数ではありません。initallinitallload
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 `()`.

quirksmode.org の優れたチュートリアルを読んで、イベント処理について学び、もちろんJavaScript の基礎についてはMDN JavaScript ガイドを読むことをお勧めします。

于 2012-09-04T19:28:35.460 に答える
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>
于 2015-04-04T07:30:29.877 に答える
0

これを試してください:http://jsfiddle.net/uxfD4/

onclick 割り当ては関数を受け入れます。コードが行ったことは、alert('hi') を評価し、null を返すことでした。

于 2012-09-04T19:28:16.957 に答える