未找到javascript方法'方法名称'未定义

时间:2011-04-15 10:57:57

标签: javascript jquery asp.net-mvc-2 onclick image

我在点击JQuery.GetJSON标记时实施了一个简单的<img>方法。问题是Internet Explorer正在抛出一个异常,即methodname未定义。

任何人都可以指导我。

HTML:

<div class="itemgenerate">
    <img src="/images/generate.png" onclick="sendJSONRequest()" style="cursor: pointer;" />
</div>
<div id="divTarget" class="itemtext">
    <p id="pStuff"></p>
</div>

Java脚本:

<script language="javascript" type="text/javascript" src="/Scripts/jquery-1.4.1.js" />
<script language="javascript" type="text/javascript">
    function sendJSONRequest() {
        $.getJSON("/Home/Generate", $('#text1').val(), function (data) {
            $('#pStuff').text(data.Stuff);
        });
    }
</script>

如果有人能解释我这里有什么问题,请不要这样做:

2 个答案:

答案 0 :(得分:4)

script标签不能自动关闭。您需要关闭script代码:

<script language="javascript" type="text/javascript" src="/Scripts/jquery-1.4.1.js"></script>

您当前的语法意味着第一个脚本标记将不会被关闭,其内容将被视为第一个脚本标记的一部分。由于第一个标记具有src属性,因此将忽略其内容,因此不会定义您的函数。

答案 1 :(得分:1)

在标记中使用onclick=不是JQuery方式;使用JQuery的一个要点是允许您从HTML标记中抽象出脚本代码。所以你会改用这样的东西:

$(document).ready() {
    $('#myimage').click(sendJSONRequest);
}