IAgree函数上的Javascript错误行为

时间:2013-04-09 10:18:13

标签: javascript html function runtime-error

我有以下代码:

function iAgree(){
    alert("Hello");
    jQuery('#openAccount').hide();
    jQuery('#submitDetails').show();
}

我用它来调用它:

<div class="openAccWraper">
  <div class="openAccDetail"> </div>
  <div class="questionContact">
    <input type="checkbox" name="iAgree" id="iAgree" value="1" />
  </div>
</div>
  <a href="#" onclick="iAgree();"><img src="img/btnSubmitDet.png" border="0" /></a>

我收到以下错误:

Uncaught TypeError: object is not a function 

2 个答案:

答案 0 :(得分:1)

我认为问题可能在于iAgree也是id,而IIRC的一些(所有?)浏览器定义了与id相同的全局(如果它可以作为标识符)。因此,iAgree()尝试调用DOM对象,这显然会失败;它还解释了为什么重命名解决了它。

要检查是否是这种情况,请点击onclick =“alert(iAgree); iAgree();”并查看它是否提醒功能或输入元素。

答案 1 :(得分:0)

我认为问题是你的代码没有正确加载到页面上。如果您将功能代码包装在html的 head body 标记中,那么您的代码应该可以正常工作。 e.g。

<body>
   <!-- html -->
   <!-- load your script at the bottom of the body -->
<script src="jquery.js" type="text/javascript"></script>  
<script type="text/javascript">
    function iAgree(){
        alert("Hello");
        .........
     }
</script>
</body>
Or
<body>
   <!-- html -->
   <!-- load your script at the bottom of the body-->
   <script src="jquery.js" type="text/javascript"></script>
   <script src="iAgree.js" type="text/javascript"></script>
</body>

这是一个最小的工作小提琴http://jsfiddle.net/SZYH3/2/