如何在点击一个<div>时去执行一个javascript里的函数?

例如,我在body上面的script里写了一个函数
如果在body里有个input type="submit" value="调用函数a",点击就能
调用,但我将它改成div id="a" onclick="a()"调用函数a/div,为什么就调用不了了?

 <script>
function a(){
    ...
}
</script>
<body>
<form action="${pageContext.request.contextPath }/login.action" 
                                   method="post" onsubmit="return a()">
                                                        <input type="submit" value="调用函数a"/>
                                                        <!-- 没法调用-->
                                                        <!--<div id="a" onclick="a()">调用函数a</div>-->
</form>
</body>

被action给干扰了

把函数放在head里面试试

 <html><head></head><body><div style="height:100px;width:100px;background:red" onclick="alert('ok')"></div></body></html>

我这里可以啊
图片说明

  1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句
  2. a href="javascript:void(0);" onclick="js_method()" 这种方法是很多网站最常用的方法,也是最周全的方法,onclick方法负责执行js函数,而void是一个操作符,void(0)返回undefined,地址不发生跳转。而且这种方法不会像第一种方法一样直接将js方法暴露在浏览器的状态栏。 3.a href="javascript:;" onclick="js_method()" 这种方法跟跟2种类似,区别只是执行了一条空的js代码。 4.a href="#" onclick="js_method()" 这种方法也是网上很常见的代码,#是标签内置的一个方法,代表top的作用。所以用这种方法点击后网页后返回到页面的最顶端。 5.a href="#" onclick="js_method();return false;" 这种方法点击执行了js函数后return false,页面不发生跳转,执行后还是在页面的当前位置。 综合上述,在a中调用js函数最适当的方法推荐使用: a href="javascript:void(0);" onclick="js_method()" a href="javascript:;" onclick="js_method()" a href="#" onclick="js_method();return false;"

可以调用啊

 <!DOCTYPE html>  
<html>  
<head>  
<meta charset="utf-8">  
<title></title>  
<meta http-equiv="X-UA-Compatible" content="IE=edge">  
</head>  
<body>  
<html>  
<head>  
<script>
function a(){
    alert(123);
}
</script>  
</head>  
<body>  
<form action="${pageContext.request.contextPath }/login.action" 
                                   method="post" onsubmit="return a()">
                                                        <!--<input type="submit" value="调用函数a"/>
                                                        <!-- 没法调用-->
                                                        <div id="a" onclick="a()" style="height:100px;width:100px;background:red">调用函数a</div>
</form>
</body>  
</body>  
</html>  


function mySubmit(){
var firMenuName = $('#menu1').combobox('getText');
var menuName = $('#menu2').combobox('getText');
var firMenuName= $('#firMenuName').val(firMenuName) ;
var menuName =$('#menuName').val(menuName) ;
console.info(firMenuName,menuName) ;
$("#form1").submit();
}

                    你模仿我的写一下

将以下 的script放进head标签中
<br> function clickdiv(){<br> alert(&quot;点击div显示内容&quot;);<br> }<br>

将函数放在onload方法里