0

我有以下代码:

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 
4

2 回答 2

1

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

要检查是否是这种情况,请放置 onclick="alert(iAgree); iAgree();" 并查看它是否警告功能或 InputElement。

于 2013-04-09T16:52:20.007 回答
0

我认为问题在于您的代码没有正确加载到页面上。如果您将函数代码包装在 html 的headbody标记中,您的代码应该可以工作。例如

<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/

于 2013-04-09T11:38:10.497 回答