一切!使用简单的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>
答案 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。