6

给出错误。我之前已经放置了代码</body>。仍然收到错误。

<form action="" method="get" id="searchform" >
<input name="q" type="text" id="search" size="32" maxlength="128" class="txt">
<input type="button" id="hit" value="Search" onclick="myFunction();return false" class="btn">   
</form>

JS,

<script type="text/javascript">
    var nexturl = "";
    var lastid = "";
    var param;
    $(document).ready(function () {
        function myFunction() {
            param = $('#search').val();
            alert("I am an alert box!");
            if (param != "") {
                $("#status").show();
                var u = 'https://graph.facebook.com/search/?callback=&limit=100&q=' + param;
                getResults(u);
            }
        }
        $("#more").click(function () {
            $("#status").show();
            $("#more").hide();
            pageTracker._trackPageview('/?q=/more');
            var u = nexturl;
            getResults(u);
        });
    });
</script>
4

4 回答 4

12

不能myFunction放在onclick. 当onclick看到 时,没有定义myFunction

将 JavaScript 放在<head>标签中。另外,将函数移到ready().

像这样:

<script type="text/javascript">
var nexturl ="";
var lastid ="";
var param;

function myFunction() {
    param = $('#search').val();
    alert("I am an alert box!");
    if (param != "") {
        $("#status").show();
        var u = 'https://graph.facebook.com/search/?callback=&limit=100&q='+param;
        getResults(u);
        }
}

$(document).ready(function() {

  $("#more").click(function () { 

    $("#status").show();
    $("#more").hide();  
    pageTracker._trackPageview('/?q=/more');
    var u = nexturl;
    getResults(u);
  });

});
</script>
</head>
<body>
...
于 2013-03-02T06:00:03.620 回答
4

将 myFunction 直接保存在 script 标签中

 i.e
   <script>

function myFunction() {
  .....  
}
 </script>
于 2013-03-02T06:00:20.853 回答
1

来自jQuery 文档

传递给 .ready() 的处理程序保证在 DOM 准备好后执行,因此这通常是附加所有其他事件处理程序和运行其他 jQuery 代码的最佳位置。

因此,直到您的 onclick 建立后,您的函数才会创建。因此它找不到该功能。您需要将其移到$(document).ready(function(){}).

于 2013-03-02T06:02:05.563 回答
0

You have to move the function outside the $document.ready here then you will have two options: 1st move it to <head> or 2nd move it right before the closing $document.ready bracket. Use this type of declaration for your function myFunction(){alert("inside my function");};

于 2018-03-21T23:55:04.703 回答